aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Hubbs <w.d.hubbs@gmail.com>2017-09-18 16:59:18 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2017-09-18 16:59:18 -0500
commit1cac8b080c16f9aab19c7a3ae1ca155c20dfa14d (patch)
treee40b8b5575ed05ad03bb0299687d3d08b7b98820
parentb58194ef63ec8c0a7e0ea3c291da9c19aa83cb1a (diff)
ignore sigchld when shutting down the supervised process
We need to do this to skip the zombie state for the child process since we are not easily able to wait() for it.
-rw-r--r--src/rc/supervise-daemon.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/rc/supervise-daemon.c b/src/rc/supervise-daemon.c
index 09db1912..a781ad9d 100644
--- a/src/rc/supervise-daemon.c
+++ b/src/rc/supervise-daemon.c
@@ -753,6 +753,7 @@ int main(int argc, char **argv)
while (!exiting) {
wait(&i);
if (exiting) {
+ signal_setup(SIGCHLD, SIG_IGN);
syslog(LOG_INFO, "stopping %s, pid %d", exec, child_pid);
nkilled = run_stop_schedule(applet, exec, NULL, child_pid,
0, false, false, true);