From: Peter Eisentraut Date: Wed, 6 Dec 2023 09:11:36 +0000 (+0100) Subject: Use signal-safe functions in signal handler X-Git-Tag: REL_17_BETA1~1328 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=52e98d45023027de0fa8e4eee2d53e2c20185812;p=postgresql.git 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 Discussion: https://www.postgresql.org/message-id/flat/CTVDKVZCCVSY.1XQ87UL50KQRD%40gonk --- diff --git a/src/bin/pg_test_fsync/pg_test_fsync.c b/src/bin/pg_test_fsync/pg_test_fsync.c index f56e494f70f..f109aa57174 100644 --- a/src/bin/pg_test_fsync/pg_test_fsync.c +++ b/src/bin/pg_test_fsync/pg_test_fsync.c @@ -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