aboutsummaryrefslogtreecommitdiff
path: root/src/rc
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 /src/rc
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.
Diffstat (limited to 'src/rc')
-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);