diff options
Diffstat (limited to 'src/sysvinit.c')
-rw-r--r-- | src/sysvinit.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/sysvinit.c b/src/sysvinit.c index a4e0d63..d8b7cc5 100644 --- a/src/sysvinit.c +++ b/src/sysvinit.c @@ -449,9 +449,17 @@ sysvinit_fifo_handler (int fd, void *data) buf.req.runlevel = toupper (buf.req.runlevel); - if (buf.req.runlevel != runlevel) - { - progman_stop (); - dfl_level = buf.req.runlevel; - inittrans (); - } - break; + pies_schedule_action (ACTION_RELOAD); + switch (buf.req.runlevel) + { + case 'Q': + break; + + default: + if (buf.req.runlevel != runlevel) + { + progman_stop (); + dfl_level = buf.req.runlevel; + inittrans (); + } + } + break; @@ -564,3 +572,2 @@ sysvinit_sigtrans (int sig, int *pact) case SIGQUIT: - case SIGHUP: /* Ignore these signals. */ |