From 52e98d45023027de0fa8e4eee2d53e2c20185812 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 6 Dec 2023 10:11:36 +0100 Subject: [PATCH] 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 --- 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 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 -- 2.30.2