summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2022-10-07 22:00:37 +0100
committerColin Watson <cjwatson@debian.org>2022-10-07 22:00:37 +0100
commit78ada4d2cf0a46c2ec2ae15dc21f36f981f54d79 (patch)
tree166c270279a10e2e52237926d63740f189cf0845 /lib
parent744211530e1fd1acdf0d8c846beb131b731a6c5a (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.c22
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;
}