procd: support relayoing daemon stdout/stderr to syslog
[project/procd.git] / state.c
diff --git a/state.c b/state.c
index 7f0ec50..22a06a1 100644 (file)
--- a/state.c
+++ b/state.c
@@ -116,6 +116,9 @@ static void state_enter(void)
                procd_inittab_run("askconsole");
                procd_inittab_run("askfirst");
                procd_inittab_run("sysinit");
+
+               // switch to syslog log channel
+               ulog_open(ULOG_SYSLOG, LOG_DAEMON, "procd");
                break;
 
        case STATE_RUNNING:
@@ -131,6 +134,8 @@ static void state_enter(void)
                break;
 
        case STATE_HALT:
+               // To prevent killed processes from interrupting the sleep
+               signal(SIGCHLD, SIG_IGN);
                LOG("- SIGTERM processes -\n");
                kill(-1, SIGTERM);
                sync();