From 467a18b1d94dbcdc9f750e52d09f6579037fbff5 Mon Sep 17 00:00:00 2001
From: Eric Andersen <andersen@codepoet.org>
Date: Fri, 25 Jan 2002 23:13:06 +0000
Subject: Teach 'init -q' that init's pid may not equal 1

---
 init/init.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

(limited to 'init')

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)
 
 
 	if (argc > 1 && !strcmp(argv[1], "-q")) {
-		kill(1, SIGHUP);
+		/* don't assume init's pid == 1 */
+		long *pid = find_pid_by_name("init");
+		if (!pid || *pid<=0) {
+			pid = find_pid_by_name("linuxrc");
+			if (!pid || *pid<=0)
+				error_msg_and_die("no process killed");
+		}
+		kill(*pid, SIGHUP);
 		exit(0);
 	}
 
-- 
cgit v1.2.3