aboutsummaryrefslogtreecommitdiff
path: root/init/halt.c
diff options
context:
space:
mode:
Diffstat (limited to 'init/halt.c')
-rw-r--r--init/halt.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/init/halt.c b/init/halt.c
index 7e663227c..b9eeaebdd 100644
--- a/init/halt.c
+++ b/init/halt.c
@@ -23,19 +23,10 @@
23 23
24#include "busybox.h" 24#include "busybox.h"
25#include <signal.h> 25#include <signal.h>
26#include "init_shared.h"
27
26 28
27extern int halt_main(int argc, char **argv) 29extern int halt_main(int argc, char **argv)
28{ 30{
29#ifdef CONFIG_FEATURE_INITRD 31 return kill_init(SIGUSR1);
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, SIGUSR1));
38#else
39 return(kill(1, SIGUSR1));
40#endif
41} 32}