Use SIGNAL_ARGS consistently to declare signal handlers.
authorTom Lane <[email protected]>
Wed, 14 Sep 2022 18:44:45 +0000 (14:44 -0400)
committerTom Lane <[email protected]>
Wed, 14 Sep 2022 18:44:50 +0000 (14:44 -0400)
Various bits of code were declaring signal handlers manually,
using "int signum" or variants of that.  We evidently have no
platforms where that's actually wrong, but let's use our
SIGNAL_ARGS macro everywhere anyway.  If nothing else, it's
good for finding signal handlers easily.

No need for back-patch, since this is just cosmetic AFAICS.

Discussion: https://postgr.es/m/2684964.1663167995@sss.pgh.pa.us

src/backend/storage/ipc/pmsignal.c
src/bin/initdb/initdb.c
src/bin/pg_basebackup/pg_receivewal.c
src/bin/pg_basebackup/pg_recvlogical.c
src/bin/pg_ctl/pg_ctl.c
src/bin/pg_test_fsync/pg_test_fsync.c
src/bin/pg_waldump/pg_waldump.c
src/include/port.h
src/test/regress/pg_regress.c

index 1c668d183c2f58f4e7921b1a46185675d3560233..3f0ec5e6b82d12acdff372b9fe2c5e0d953d3bb9 100644 (file)
@@ -88,7 +88,7 @@ NON_EXEC_STATIC volatile PMSignalData *PMSignalState = NULL;
 volatile sig_atomic_t postmaster_possibly_dead = false;
 
 static void
-postmaster_death_handler(int signo)
+postmaster_death_handler(SIGNAL_ARGS)
 {
        postmaster_possibly_dead = true;
 }
index e00837ecacf4885cf2a176168c283f3e67c6eb53..6aeec8d426c52414b827686781c245291f27ed1f 100644 (file)
@@ -268,7 +268,7 @@ static void load_plpgsql(FILE *cmdfd);
 static void vacuum_db(FILE *cmdfd);
 static void make_template0(FILE *cmdfd);
 static void make_postgres(FILE *cmdfd);
-static void trapsig(int signum);
+static void trapsig(SIGNAL_ARGS);
 static void check_ok(void);
 static char *escape_quotes(const char *src);
 static char *escape_quotes_bki(const char *src);
@@ -1848,10 +1848,10 @@ make_postgres(FILE *cmdfd)
  * So this will need some testing on Windows.
  */
 static void
-trapsig(int signum)
+trapsig(SIGNAL_ARGS)
 {
        /* handle systems that reset the handler, like Windows (grr) */
-       pqsignal(signum, trapsig);
+       pqsignal(postgres_signal_arg, trapsig);
        caught_signal = true;
 }
 
index 37c14d1a0292842fa111e6723469c327abe8fb5f..5c22c914bc7fae4fcac4bf784974ece5f190a19b 100644 (file)
@@ -679,7 +679,7 @@ StreamLog(void)
 #ifndef WIN32
 
 static void
-sigexit_handler(int signum)
+sigexit_handler(SIGNAL_ARGS)
 {
        time_to_stop = true;
 }
index a86739ec1260ff4bf958e632e66582036a82a4c2..4392e23e88814069d49bdb8b06142fc641f21e1d 100644 (file)
@@ -654,7 +654,7 @@ error:
  * possible moment.
  */
 static void
-sigexit_handler(int signum)
+sigexit_handler(SIGNAL_ARGS)
 {
        time_to_abort = true;
 }
@@ -663,7 +663,7 @@ sigexit_handler(int signum)
  * Trigger the output file to be reopened.
  */
 static void
-sighup_handler(int signum)
+sighup_handler(SIGNAL_ARGS)
 {
        output_reopen = true;
 }
index bba056f94fe2c577795ceaa146e17a271a9f0e3f..9291c61d000feeb2443b49f8739809a433a7781d 100644 (file)
@@ -850,7 +850,7 @@ read_post_opts(void)
  * waiting for the server to start up, the server launch is aborted.
  */
 static void
-trap_sigint_during_startup(int sig)
+trap_sigint_during_startup(SIGNAL_ARGS)
 {
        if (postmasterPID != -1)
        {
@@ -863,8 +863,8 @@ trap_sigint_during_startup(int sig)
         * Clear the signal handler, and send the signal again, to terminate the
         * process as normal.
         */
-       pqsignal(SIGINT, SIG_DFL);
-       raise(SIGINT);
+       pqsignal(postgres_signal_arg, SIG_DFL);
+       raise(postgres_signal_arg);
 }
 
 static char *
index 77f0db0376bb24cb2b9688a59bfe5e37ce846f40..585b3ef7313bf46b292da85f59ae12fa50d15590 100644 (file)
@@ -81,11 +81,11 @@ static void test_open_sync(const char *msg, int writes_size);
 static void test_file_descriptor_sync(void);
 
 #ifndef WIN32
-static void process_alarm(int sig);
+static void process_alarm(SIGNAL_ARGS);
 #else
 static DWORD WINAPI process_alarm(LPVOID param);
 #endif
-static void signal_cleanup(int sig);
+static void signal_cleanup(SIGNAL_ARGS);
 
 #ifdef HAVE_FSYNC_WRITETHROUGH
 static int     pg_fsync_writethrough(int fd);
@@ -590,14 +590,14 @@ test_non_sync(void)
 }
 
 static void
-signal_cleanup(int signum)
+signal_cleanup(SIGNAL_ARGS)
 {
        /* Delete the file if it exists. Ignore errors */
        if (needs_unlink)
                unlink(filename);
        /* Finish incomplete line on stdout */
        puts("");
-       exit(signum);
+       exit(1);
 }
 
 #ifdef HAVE_FSYNC_WRITETHROUGH
@@ -632,7 +632,7 @@ print_elapse(struct timeval start_t, struct timeval stop_t, int ops)
 
 #ifndef WIN32
 static void
-process_alarm(int sig)
+process_alarm(SIGNAL_ARGS)
 {
        alarm_triggered = true;
 }
index 65281136280a20f42b4dc061701654b0d5eb2c65..9b7926956294d0f3af8b873c64d4bbe65ffc4646 100644 (file)
@@ -80,7 +80,7 @@ typedef struct XLogDumpConfig
 #ifndef WIN32
 
 static void
-sigint_handler(int signum)
+sigint_handler(SIGNAL_ARGS)
 {
        time_to_stop = true;
 }
index cec41eae713232fe0069da2c765e7cdad0d20f47..ce5da0534e87ba74579c6be19f014baf259e4444 100644 (file)
@@ -472,7 +472,7 @@ extern int  pg_check_dir(const char *dir);
 extern int     pg_mkdir_p(char *path, int omode);
 
 /* port/pqsignal.c */
-typedef void (*pqsigfunc) (int signo);
+typedef void (*pqsigfunc) (SIGNAL_ARGS);
 extern pqsigfunc pqsignal(int signo, pqsigfunc func);
 
 /* port/quotes.c */
index 7290948eeee771fd29d4630fa70ccb985bd3c93b..dda076847a38a74a765ca1283226815e9d10ada1 100644 (file)
@@ -303,12 +303,12 @@ remove_temp(void)
  * Signal handler that calls remove_temp() and reraises the signal.
  */
 static void
-signal_remove_temp(int signum)
+signal_remove_temp(SIGNAL_ARGS)
 {
        remove_temp();
 
-       pqsignal(signum, SIG_DFL);
-       raise(signum);
+       pqsignal(postgres_signal_arg, SIG_DFL);
+       raise(postgres_signal_arg);
 }
 
 /*