summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2012-02-05 14:08:08 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2012-02-05 14:08:08 (GMT)
commitbbf1e3c144c1ee93409a0e0546cb56b34eccfcfd (patch)
treed5c43b16af0dd7878db49ab416ab7a0f56113d32
parent6e9d047c1558f92531ea12b9e3206023ab77cf51 (diff)
downloadbusybox-bbf1e3c144c1ee93409a0e0546cb56b34eccfcfd.tar.gz
busybox-bbf1e3c144c1ee93409a0e0546cb56b34eccfcfd.tar.bz2
acpid: do not install handlers for fatal signals
For acpid, it's ok to die at once. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--util-linux/acpid.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/util-linux/acpid.c b/util-linux/acpid.c
index 361a2b2..1b22f3a 100644
--- a/util-linux/acpid.c
+++ b/util-linux/acpid.c
@@ -268,8 +268,12 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
xchdir(opt_dir);
+ /* We spawn children but don't wait for them. Prevent zombies: */
bb_signals((1 << SIGCHLD), SIG_IGN);
- bb_signals(BB_FATAL_SIGS, record_signo);
+ // If you enable this, (1) explain why, (2)
+ // make sure while(poll) loop below is still interruptible
+ // by SIGTERM et al:
+ //bb_signals(BB_FATAL_SIGS, record_signo);
pfd = NULL;
nfd = 0;
@@ -337,7 +341,7 @@ int acpid_main(int argc UNUSED_PARAM, char **argv)
}
if (!event)
continue;
- // spawn event handler
+ /* spawn event handler */
process_event(event);
}
}