Small size optimization from Aaron Lehmann
[oweals/busybox.git] / poweroff.c
index 405ca3fe2f7ea47c45400f1d8c3a048fb0dc3060..8bb20e9bbb949ef5a1159896c9de61ffa777fc0d 100644 (file)
@@ -1,3 +1,4 @@
+/* vi: set sw=4 ts=4: */
 /*
  * Mini poweroff implementation for busybox
  *
  *
  */
 
-#include "internal.h"
+#include "busybox.h"
 #include <signal.h>
 
-extern int
-poweroff_main(int argc, char ** argv)
+extern int poweroff_main(int argc, char **argv)
 {
-    /* don't assume init's pid == 1 */
-    exit( kill(findInitPid(), SIGUSR2));
+#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, SIGUSR2));
+#else
+       return(kill(1, SIGUSR2));
+#endif
 }