Fix bugs related to finding PIDs.
-Erik
This commit is contained in:
@@ -26,6 +26,10 @@
|
||||
|
||||
extern int halt_main(int argc, char **argv)
|
||||
{
|
||||
#ifdef BB_FEATURE_LINUXRC
|
||||
/* don't assume init's pid == 1 */
|
||||
exit(kill(findPidByName("init"), SIGUSR1));
|
||||
#else
|
||||
exit(kill(1, SIGUSR1));
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -336,10 +336,6 @@ static pid_t run(char *command, char *terminal, int get_enter)
|
||||
|
||||
|
||||
if ((pid = fork()) == 0) {
|
||||
#ifdef DEBUG_INIT
|
||||
pid_t shell_pgid = getpid();
|
||||
#endif
|
||||
|
||||
/* Clean up */
|
||||
close(0);
|
||||
close(1);
|
||||
@@ -373,8 +369,8 @@ static pid_t run(char *command, char *terminal, int get_enter)
|
||||
* specifies.
|
||||
*/
|
||||
char c;
|
||||
|
||||
#ifdef DEBUG_INIT
|
||||
pid_t shell_pgid = getpid();
|
||||
message(LOG, "Waiting for enter to start '%s' (pid %d, console %s)\r\n",
|
||||
command, shell_pgid, terminal);
|
||||
#endif
|
||||
|
||||
@@ -26,6 +26,10 @@
|
||||
|
||||
extern int poweroff_main(int argc, char **argv)
|
||||
{
|
||||
#ifdef BB_FEATURE_LINUXRC
|
||||
/* don't assume init's pid == 1 */
|
||||
exit(kill(findPidByName("init"), SIGUSR2));
|
||||
#else
|
||||
exit(kill(1, SIGUSR2));
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -26,8 +26,12 @@
|
||||
|
||||
extern int reboot_main(int argc, char **argv)
|
||||
{
|
||||
#ifdef BB_FEATURE_LINUXRC
|
||||
/* don't assume init's pid == 1 */
|
||||
exit(kill(findPidByName("init"), SIGINT));
|
||||
#else
|
||||
exit(kill(1, SIGINT));
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user