From 2c4573afe55e83d3b5c99460c7429ff7cf3adcdf Mon Sep 17 00:00:00 2001 From: Tristan Partin Date: Thu, 6 Jul 2023 15:25:14 -0500 Subject: [PATCH v1 1/2] 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. --- src/bin/pg_test_fsync/pg_test_fsync.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/pg_test_fsync/pg_test_fsync.c b/src/bin/pg_test_fsync/pg_test_fsync.c index 435df8d808..2fc4b69444 100644 --- a/src/bin/pg_test_fsync/pg_test_fsync.c +++ b/src/bin/pg_test_fsync/pg_test_fsync.c @@ -596,8 +596,8 @@ signal_cleanup(SIGNAL_ARGS) if (needs_unlink) unlink(filename); /* Finish incomplete line on stdout */ - puts(""); - exit(1); + write(STDOUT_FILENO, "", 1); + _exit(1); } #ifdef HAVE_FSYNC_WRITETHROUGH -- Tristan Partin Neon (https://neon.tech)