summaryrefslogtreecommitdiff
path: root/crond/runjob.c
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@tele2.at>2018-09-21 18:08:48 +0200
committerDavid Oberhollenzer <david.oberhollenzer@tele2.at>2018-09-21 18:08:48 +0200
commite171f8886525cbaa48e40f7d5b31acb6db657fb2 (patch)
treec52ce2e16815bfa911d5bc3ae50690ac555484f1 /crond/runjob.c
parenta191a7cc1873f6c3a0617d549a2d4b4c331264cc (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.c5
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);