summaryrefslogtreecommitdiffstats
path: root/main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-02-22 08:31:15 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2012-02-22 08:31:15 +0000
commitf0636bcb70a3dca8d675f9c42a8fe0feedaa89e5 (patch)
tree7fa933d08b831fd33a5413461052b316661af8c5 /main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch
parent2ff99dcc795b7bc24ff6b6b972a7f4d4a2f8e28d (diff)
downloadaports-f0636bcb70a3dca8d675f9c42a8fe0feedaa89e5.tar.bz2
aports-f0636bcb70a3dca8d675f9c42a8fe0feedaa89e5.tar.xz
main/busybox: use upstream fix for acpid fix
Diffstat (limited to 'main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch')
-rw-r--r--main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch b/main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch
new file mode 100644
index 000000000..b62ab4aad
--- /dev/null
+++ b/main/busybox/0001-acpid-do-not-install-handlers-for-fatal-signals.patch
@@ -0,0 +1,42 @@
+From bbf1e3c144c1ee93409a0e0546cb56b34eccfcfd Mon Sep 17 00:00:00 2001
+From: Denys Vlasenko <vda.linux@googlemail.com>
+Date: Sun, 5 Feb 2012 15:08:08 +0100
+Subject: [PATCH 1/4] 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>
+---
+ util-linux/acpid.c | 8 ++++++--
+ 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);
+ }
+ }
+--
+1.7.9.1
+