Use signal-safe functions in signal handler

According to signal-safety(7), exit(3) and puts(3) are not safe to call
in a signal handler.

Author: Tristan Partin <tristan@neon.tech>
Discussion: https://www.postgresql.org/message-id/flat/CTVDKVZCCVSY.1XQ87UL50KQRD%40gonk
This commit is contained in:
Peter Eisentraut 2023-12-06 10:11:36 +01:00
parent 7636725b92
commit 52e98d4502
1 changed files with 2 additions and 2 deletions

View File

@ -602,8 +602,8 @@ signal_cleanup(SIGNAL_ARGS)
if (needs_unlink)
unlink(filename);
/* Finish incomplete line on stdout */
puts("");
exit(1);
write(STDOUT_FILENO, "\n", 1);
_exit(1);
}
#ifdef HAVE_FSYNC_WRITETHROUGH