summaryrefslogtreecommitdiff
path: root/service.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-01-27 05:32:31 +0100
committerLennart Poettering <lennart@poettering.net>2010-01-27 05:32:31 +0100
commitbd982a8baeabbaf4a09a382a64acc243ef7104c5 (patch)
treea24424aef6ff3da2bef3e02ff434a6a5d58a834f /service.c
parent6632c6023c5f90e15440231500d3431e869e4577 (diff)
properly recognize successfull scripts
Diffstat (limited to 'service.c')
-rw-r--r--service.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/service.c b/service.c
index cef94175fb..ae7fc36a5c 100644
--- a/service.c
+++ b/service.c
@@ -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: