aboutsummaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorErik Andersen <andersen@codepoet.org>2000-03-07 23:32:17 +0000
committerErik Andersen <andersen@codepoet.org>2000-03-07 23:32:17 +0000
commit2ac2fae728cca8a535b29bdd2fa6899e6f4992f2 (patch)
tree76eb5871ac3cde7d58048aadba75c7f40fab93b7 /init
parentcbd0d625c7466af80f141e0ae24186e15987bf3e (diff)
downloadbusybox-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.c4
-rw-r--r--init/init.c6
-rw-r--r--init/poweroff.c4
-rw-r--r--init/reboot.c4
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
27extern int halt_main(int argc, char **argv) 27extern 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
27extern int poweroff_main(int argc, char **argv) 27extern 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
27extern int reboot_main(int argc, char **argv) 27extern 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/*