diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-01-27 05:32:31 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-01-27 05:32:31 +0100 |
commit | bd982a8baeabbaf4a09a382a64acc243ef7104c5 (patch) | |
tree | a24424aef6ff3da2bef3e02ff434a6a5d58a834f /service.c | |
parent | 6632c6023c5f90e15440231500d3431e869e4577 (diff) |
properly recognize successfull scripts
Diffstat (limited to 'service.c')
-rw-r--r-- | service.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -739,7 +739,7 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { assert(s); assert(pid >= 0); - success = code == CLD_EXITED || status == 0; + success = code == CLD_EXITED && status == 0; s->failure = s->failure || !success; if (s->main_pid == pid) { @@ -806,6 +806,8 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { /* No further commands for this step, so let's * figure out what to do next */ + log_debug("%s got final SIGCHLD for state %s", unit_id(u), state_string_table[s->state]); + switch (s->state) { case SERVICE_START_PRE: |