diff options
author | David Oberhollenzer <david.oberhollenzer@tele2.at> | 2018-09-21 18:08:48 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@tele2.at> | 2018-09-21 18:08:48 +0200 |
commit | e171f8886525cbaa48e40f7d5b31acb6db657fb2 (patch) | |
tree | c52ce2e16815bfa911d5bc3ae50690ac555484f1 /crond/runjob.c | |
parent | a191a7cc1873f6c3a0617d549a2d4b4c331264cc (diff) |
Remove pid fron cron serives, reap children in signal handler
Signed-off-by: David Oberhollenzer <david.oberhollenzer@tele2.at>
Diffstat (limited to 'crond/runjob.c')
-rw-r--r-- | crond/runjob.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/crond/runjob.c b/crond/runjob.c index 7650748..83c4278 100644 --- a/crond/runjob.c +++ b/crond/runjob.c @@ -33,10 +33,8 @@ int runjob(crontab_t *tab) return -1; } - if (pid != 0) { - tab->pid = pid; + if (pid != 0) return 0; - } /* XXX: inside the child process */ memset(&act, 0, sizeof(act)); @@ -44,6 +42,7 @@ int runjob(crontab_t *tab) sigaction(SIGINT, &act, NULL); sigaction(SIGTERM, &act, NULL); sigaction(SIGHUP, &act, NULL); + sigaction(SIGCHLD, &act, NULL); if (setup_tty(tab->ctty, tab->tty_truncate)) exit(EXIT_FAILURE); |