diff options
author | Colin Watson <cjwatson@debian.org> | 2022-10-07 22:00:37 +0100 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2022-10-07 22:00:37 +0100 |
commit | 78ada4d2cf0a46c2ec2ae15dc21f36f981f54d79 (patch) | |
tree | 166c270279a10e2e52237926d63740f189cf0845 /lib | |
parent | 744211530e1fd1acdf0d8c846beb131b731a6c5a (diff) |
Fix build on systems without SIGHUP
* lib/cleanup.c (trap_abnormal_exits, untrap_abnormal_exits): Guard uses
of `SIGHUP` with an `#ifdef`.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/cleanup.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/lib/cleanup.c b/lib/cleanup.c index 6bbf363b..65865dd8 100644 --- a/lib/cleanup.c +++ b/lib/cleanup.c @@ -41,7 +41,9 @@ /* saved signal actions */ +#ifdef SIGHUP static struct sigaction saved_hup_action; +#endif /* SIGHUP */ static struct sigaction saved_int_action; static struct sigaction saved_term_action; @@ -107,9 +109,13 @@ trap_signal (int signo, struct sigaction *oldact) static int trap_abnormal_exits (void) { - if ( trap_signal (SIGHUP, &saved_hup_action) - || trap_signal (SIGINT, &saved_int_action) - || trap_signal (SIGTERM, &saved_term_action)) +#ifdef SIGHUP + if (trap_signal (SIGHUP, &saved_hup_action)) + return -1; +#endif /* SIGHUP */ + if (trap_signal (SIGINT, &saved_int_action)) + return -1; + if (trap_signal (SIGTERM, &saved_term_action)) return -1; return 0; } @@ -137,9 +143,13 @@ untrap_signal (int signo, struct sigaction *oldact) static int untrap_abnormal_exits (void) { - if ( untrap_signal (SIGHUP, &saved_hup_action) - | untrap_signal (SIGINT, &saved_int_action) - | untrap_signal (SIGTERM, &saved_term_action)) +#ifdef SIGHUP + if (untrap_signal (SIGHUP, &saved_hup_action)) + return -1; +#endif /* SIGHUP */ + if (untrap_signal (SIGINT, &saved_int_action)) + return -1; + if (untrap_signal (SIGTERM, &saved_term_action)) return -1; return 0; } |