aboutsummaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2002-01-25 23:13:06 +0000
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>2002-01-25 23:13:06 +0000
commit7026c59b5ef1767bfcea65060fca615b00a4b283 (patch)
tree19d3fa1979344dd4596fc6bda470506e9200c14c /init
parentd793f24cbcec938a5f29377b8310f9673f231b34 (diff)
downloadbusybox-w32-7026c59b5ef1767bfcea65060fca615b00a4b283.tar.gz
busybox-w32-7026c59b5ef1767bfcea65060fca615b00a4b283.tar.bz2
busybox-w32-7026c59b5ef1767bfcea65060fca615b00a4b283.zip
Teach 'init -q' that init's pid may not equal 1
git-svn-id: svn://busybox.net/trunk/busybox@4111 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'init')
-rw-r--r--init/init.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/init/init.c b/init/init.c
index 79a748454..e48dc50cc 100644
--- a/init/init.c
+++ b/init/init.c
@@ -963,7 +963,14 @@ extern int init_main(int argc, char **argv)
963 963
964 964
965 if (argc > 1 && !strcmp(argv[1], "-q")) { 965 if (argc > 1 && !strcmp(argv[1], "-q")) {
966 kill(1, SIGHUP); 966 /* don't assume init's pid == 1 */
967 long *pid = find_pid_by_name("init");
968 if (!pid || *pid<=0) {
969 pid = find_pid_by_name("linuxrc");
970 if (!pid || *pid<=0)
971 error_msg_and_die("no process killed");
972 }
973 kill(*pid, SIGHUP);
967 exit(0); 974 exit(0);
968 } 975 }
969 976