summaryrefslogtreecommitdiff
path: root/src/manager.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/manager.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/manager.c')
-rw-r--r--src/manager.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/manager.c b/src/manager.c
index c8fdbb5dee..900a00a6f5 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -57,6 +57,7 @@
#include "path-lookup.h"
#include "special.h"
#include "bus-errors.h"
+#include "exit-status.h"
/* As soon as 16 units are in our GC queue, make sure to run a gc sweep */
#define GC_QUEUE_ENTRIES_MAX 16
@@ -1885,7 +1886,9 @@ static int manager_dispatch_sigchld(Manager *m) {
(long unsigned) si.si_pid,
sigchld_code_to_string(si.si_code),
si.si_status,
- strna(si.si_code == CLD_EXITED ? exit_status_to_string(si.si_status) : signal_to_string(si.si_status)));
+ strna(si.si_code == CLD_EXITED
+ ? exit_status_to_string(si.si_status, EXIT_STATUS_FULL)
+ : signal_to_string(si.si_status)));
if (!u)
continue;