diff options
author | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-09-25 15:08:40 +0000 |
---|---|---|
committer | andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-09-25 15:08:40 +0000 |
commit | 3baaff251f39c2610c2d2b5bfdac4158dbd1d331 (patch) | |
tree | 569d40587716c379dc39f806856f0728f2479f42 | |
parent | e29e8f7c780e4a07e94a96b24592d848578ba4fd (diff) | |
download | busybox-w32-3baaff251f39c2610c2d2b5bfdac4158dbd1d331.tar.gz busybox-w32-3baaff251f39c2610c2d2b5bfdac4158dbd1d331.tar.bz2 busybox-w32-3baaff251f39c2610c2d2b5bfdac4158dbd1d331.zip |
Ignoring SIGCHLD causes a race leading to the occasional hang of init
when init will wait() on itself in waitfor() when the child exits before
init is scheduled to run. Letting init hang is very seriously bad.
-Erik
git-svn-id: svn://busybox.net/trunk/busybox@5592 69ca8d6d-28ef-0310-b511-8ec308f3f277
-rw-r--r-- | init/init.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/init/init.c b/init/init.c index ab2d0ea91..989babff7 100644 --- a/init/init.c +++ b/init/init.c | |||
@@ -1063,7 +1063,6 @@ extern int init_main(int argc, char **argv) | |||
1063 | signal(SIGCONT, cont_handler); | 1063 | signal(SIGCONT, cont_handler); |
1064 | signal(SIGSTOP, stop_handler); | 1064 | signal(SIGSTOP, stop_handler); |
1065 | signal(SIGTSTP, stop_handler); | 1065 | signal(SIGTSTP, stop_handler); |
1066 | signal(SIGCHLD, SIG_IGN); | ||
1067 | 1066 | ||
1068 | /* Turn off rebooting via CTL-ALT-DEL -- we get a | 1067 | /* Turn off rebooting via CTL-ALT-DEL -- we get a |
1069 | * SIGINT on CAD so we can shut things down gracefully... */ | 1068 | * SIGINT on CAD so we can shut things down gracefully... */ |