From 33d4fba5be98a617ecc90fb32ae533148bce7c97 Mon Sep 17 00:00:00 2001
From: Roy Marples <roy@marples.name>
Date: Tue, 4 Nov 2008 00:21:30 +0000
Subject: We start off in sysinit correctly.

---
 src/rc/rc.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

(limited to 'src')

diff --git a/src/rc/rc.c b/src/rc/rc.c
index ec11a472..7af7103a 100644
--- a/src/rc/rc.c
+++ b/src/rc/rc.c
@@ -856,11 +856,14 @@ main(int argc, char **argv)
 	signal_setup(SIGUSR1, handle_signal);
 	signal_setup(SIGWINCH, handle_signal);
 
-	rc_plugin_load();
-
 	/* Run any special sysinit foo */
-	if (newlevel && strcmp(newlevel, RC_LEVEL_SYSINIT) == 0)
+	if (newlevel && strcmp(newlevel, RC_LEVEL_SYSINIT) == 0) {
 		do_sysinit();
+		free(runlevel);
+		runlevel = rc_runlevel_get();
+	}
+
+	rc_plugin_load();
 
 	/* Now we start handling our children */
 	signal_setup(SIGCHLD, handle_signal);
-- 
cgit v1.2.3