diff options
| author | Erik Andersen <andersen@codepoet.org> | 2000-03-07 23:32:17 +0000 |
|---|---|---|
| committer | Erik Andersen <andersen@codepoet.org> | 2000-03-07 23:32:17 +0000 |
| commit | 2ac2fae728cca8a535b29bdd2fa6899e6f4992f2 (patch) | |
| tree | 76eb5871ac3cde7d58048aadba75c7f40fab93b7 /init | |
| parent | cbd0d625c7466af80f141e0ae24186e15987bf3e (diff) | |
| download | busybox-w32-2ac2fae728cca8a535b29bdd2fa6899e6f4992f2.tar.gz busybox-w32-2ac2fae728cca8a535b29bdd2fa6899e6f4992f2.tar.bz2 busybox-w32-2ac2fae728cca8a535b29bdd2fa6899e6f4992f2.zip | |
Fix bugs related to finding PIDs.
-Erik
Diffstat (limited to 'init')
| -rw-r--r-- | init/halt.c | 4 | ||||
| -rw-r--r-- | init/init.c | 6 | ||||
| -rw-r--r-- | init/poweroff.c | 4 | ||||
| -rw-r--r-- | init/reboot.c | 4 |
4 files changed, 13 insertions, 5 deletions
diff --git a/init/halt.c b/init/halt.c index f2c9828d4..81d24cf2d 100644 --- a/init/halt.c +++ b/init/halt.c | |||
| @@ -26,6 +26,10 @@ | |||
| 26 | 26 | ||
| 27 | extern int halt_main(int argc, char **argv) | 27 | extern int halt_main(int argc, char **argv) |
| 28 | { | 28 | { |
| 29 | #ifdef BB_FEATURE_LINUXRC | ||
| 29 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
| 30 | exit(kill(findPidByName("init"), SIGUSR1)); | 31 | exit(kill(findPidByName("init"), SIGUSR1)); |
| 32 | #else | ||
| 33 | exit(kill(1, SIGUSR1)); | ||
| 34 | #endif | ||
| 31 | } | 35 | } |
diff --git a/init/init.c b/init/init.c index 8e28f076f..c6052f8cf 100644 --- a/init/init.c +++ b/init/init.c | |||
| @@ -336,10 +336,6 @@ static pid_t run(char *command, char *terminal, int get_enter) | |||
| 336 | 336 | ||
| 337 | 337 | ||
| 338 | if ((pid = fork()) == 0) { | 338 | if ((pid = fork()) == 0) { |
| 339 | #ifdef DEBUG_INIT | ||
| 340 | pid_t shell_pgid = getpid(); | ||
| 341 | #endif | ||
| 342 | |||
| 343 | /* Clean up */ | 339 | /* Clean up */ |
| 344 | close(0); | 340 | close(0); |
| 345 | close(1); | 341 | close(1); |
| @@ -373,8 +369,8 @@ static pid_t run(char *command, char *terminal, int get_enter) | |||
| 373 | * specifies. | 369 | * specifies. |
| 374 | */ | 370 | */ |
| 375 | char c; | 371 | char c; |
| 376 | |||
| 377 | #ifdef DEBUG_INIT | 372 | #ifdef DEBUG_INIT |
| 373 | pid_t shell_pgid = getpid(); | ||
| 378 | message(LOG, "Waiting for enter to start '%s' (pid %d, console %s)\r\n", | 374 | message(LOG, "Waiting for enter to start '%s' (pid %d, console %s)\r\n", |
| 379 | command, shell_pgid, terminal); | 375 | command, shell_pgid, terminal); |
| 380 | #endif | 376 | #endif |
diff --git a/init/poweroff.c b/init/poweroff.c index 14dc2f5b9..0f23b9562 100644 --- a/init/poweroff.c +++ b/init/poweroff.c | |||
| @@ -26,6 +26,10 @@ | |||
| 26 | 26 | ||
| 27 | extern int poweroff_main(int argc, char **argv) | 27 | extern int poweroff_main(int argc, char **argv) |
| 28 | { | 28 | { |
| 29 | #ifdef BB_FEATURE_LINUXRC | ||
| 29 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
| 30 | exit(kill(findPidByName("init"), SIGUSR2)); | 31 | exit(kill(findPidByName("init"), SIGUSR2)); |
| 32 | #else | ||
| 33 | exit(kill(1, SIGUSR2)); | ||
| 34 | #endif | ||
| 31 | } | 35 | } |
diff --git a/init/reboot.c b/init/reboot.c index fc01ea004..2f8b2b4a5 100644 --- a/init/reboot.c +++ b/init/reboot.c | |||
| @@ -26,8 +26,12 @@ | |||
| 26 | 26 | ||
| 27 | extern int reboot_main(int argc, char **argv) | 27 | extern int reboot_main(int argc, char **argv) |
| 28 | { | 28 | { |
| 29 | #ifdef BB_FEATURE_LINUXRC | ||
| 29 | /* don't assume init's pid == 1 */ | 30 | /* don't assume init's pid == 1 */ |
| 30 | exit(kill(findPidByName("init"), SIGINT)); | 31 | exit(kill(findPidByName("init"), SIGINT)); |
| 32 | #else | ||
| 33 | exit(kill(1, SIGINT)); | ||
| 34 | #endif | ||
| 31 | } | 35 | } |
| 32 | 36 | ||
| 33 | /* | 37 | /* |
