chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
service/systemctl: don't consider LSB exit codes 5 and 6 as failure, and decode exit...
[elogind.git]
/
src
/
manager.c
diff --git
a/src/manager.c
b/src/manager.c
index 6640420fb76d5c5ca57765f866a1352ed8a518b5..900a00a6f56eb8b8470a2dfd90bb3dfef9c2656c 100644
(file)
--- a/
src/manager.c
+++ b/
src/manager.c
@@
-1,4
+1,4
@@
-/*-*- Mode: C; c-basic-offset: 8 -*-*/
+/*-*- Mode: C; c-basic-offset: 8
; indent-tabs-mode: nil
-*-*/
/***
This file is part of systemd.
/***
This file is part of systemd.
@@
-57,6
+57,7
@@
#include "path-lookup.h"
#include "special.h"
#include "bus-errors.h"
#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
/* As soon as 16 units are in our GC queue, make sure to run a gc sweep */
#define GC_QUEUE_ENTRIES_MAX 16
@@
-1786,7
+1787,7
@@
static int manager_process_notify_fd(Manager *m) {
if (n >= 0)
return -EIO;
if (n >= 0)
return -EIO;
- if (errno == EAGAIN)
+ if (errno == EAGAIN
|| errno == EINTR
)
break;
return -errno;
break;
return -errno;
@@
-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,
(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;
if (!u)
continue;