+/* vi: set sw=4 ts=4: */
/*
* Mini halt implementation for busybox
*
*
*/
-#include "internal.h"
+#include "busybox.h"
#include <signal.h>
-extern int
-halt_main(int argc, char ** argv)
+extern int halt_main(int argc, char **argv)
{
- exit( kill(1, SIGUSR1));
+#ifdef BB_FEATURE_LINUXRC
+ /* don't assume init's pid == 1 */
+ pid_t *pid = find_pid_by_name("init");
+ if (!pid || *pid<=0)
+ error_msg_and_die("no process killed");
+ return(kill(*pid, SIGUSR1));
+#else
+ return(kill(1, SIGUSR1));
+#endif
}
-