diff options
Diffstat (limited to 'init/poweroff.c')
-rw-r--r-- | init/poweroff.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/init/poweroff.c b/init/poweroff.c index aca6e2f25..d78ff4f98 100644 --- a/init/poweroff.c +++ b/init/poweroff.c | |||
@@ -26,16 +26,5 @@ | |||
26 | 26 | ||
27 | extern int poweroff_main(int argc, char **argv) | 27 | extern int poweroff_main(int argc, char **argv) |
28 | { | 28 | { |
29 | #ifdef CONFIG_FEATURE_INITRD | 29 | return kill_init(SIGUSR2); |
30 | /* don't assume init's pid == 1 */ | ||
31 | long *pid = find_pid_by_name("init"); | ||
32 | if (!pid || *pid<=0) { | ||
33 | pid = find_pid_by_name("linuxrc"); | ||
34 | if (!pid || *pid<=0) | ||
35 | bb_error_msg_and_die("no process killed"); | ||
36 | } | ||
37 | return(kill(*pid, SIGUSR2)); | ||
38 | #else | ||
39 | return(kill(1, SIGUSR2)); | ||
40 | #endif | ||
41 | } | 30 | } |