summaryrefslogtreecommitdiff
path: root/src/service.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-08-19 03:18:49 +0200
committerLennart Poettering <lennart@poettering.net>2010-08-20 02:31:54 +0200
commitd06dacd0020af7e31ff6089deff339b00ed979e3 (patch)
tree40d3db2c57f53955645e95df805b43913c6e3dde /src/service.c
parent8a2b3c097b5ebd53348700f591e50530a82b5cea (diff)
service/systemctl: don't consider LSB exit codes 5 and 6 as failure, and decode exit codes in systemctl
Diffstat (limited to 'src/service.c')
-rw-r--r--src/service.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/service.c b/src/service.c
index 80cd6ad9c6..66e233a669 100644
--- a/src/service.c
+++ b/src/service.c
@@ -2263,7 +2263,10 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
assert(s);
assert(pid >= 0);
- success = is_clean_exit(code, status);
+ if (s->sysv_path)
+ success = is_clean_exit_lsb(code, status);
+ else
+ success = is_clean_exit(code, status);
if (s->main_pid == pid) {