summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-11-04 00:21:30 +0000
committerRoy Marples <roy@marples.name>2008-11-04 00:21:30 +0000
commit33d4fba5be98a617ecc90fb32ae533148bce7c97 (patch)
tree79457df1245a336c8f0ddbf1f32ef78b27274b89 /src
parent32e17af92f607a50b126973ea2a05f90ecbae9dc (diff)
downloadopenrc-33d4fba5be98a617ecc90fb32ae533148bce7c97.tar.gz
openrc-33d4fba5be98a617ecc90fb32ae533148bce7c97.tar.bz2
openrc-33d4fba5be98a617ecc90fb32ae533148bce7c97.tar.xz
We start off in sysinit correctly.
Diffstat (limited to 'src')
-rw-r--r--src/rc/rc.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/rc/rc.c b/src/rc/rc.c
index ec11a47..7af7103 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);