chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
qcow2: when dissecting qcow2, use btrfs clone ioctls for reflinking blocks to target
[elogind.git]
/
src
/
shared
/
exit-status.c
diff --git
a/src/shared/exit-status.c
b/src/shared/exit-status.c
index c1b04a38688cd96055f74c39a4a1555552ab3da5..5c73b4d3c0d1384c27e6edf748d8fa2cf162d357 100644
(file)
--- a/
src/shared/exit-status.c
+++ b/
src/shared/exit-status.c
@@
-113,9
+113,6
@@
const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level) {
case EXIT_STDERR:
return "STDERR";
case EXIT_STDERR:
return "STDERR";
- case EXIT_TCPWRAP:
- return "TCPWRAP";
-
case EXIT_PAM:
return "PAM";
case EXIT_PAM:
return "PAM";
@@
-142,6
+139,18
@@
const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level) {
case EXIT_ADDRESS_FAMILIES:
return "ADDRESS_FAMILIES";
case EXIT_ADDRESS_FAMILIES:
return "ADDRESS_FAMILIES";
+
+ case EXIT_RUNTIME_DIRECTORY:
+ return "RUNTIME_DIRECTORY";
+
+ case EXIT_CHOWN:
+ return "CHOWN";
+
+ case EXIT_MAKE_STARTER:
+ return "MAKE_STARTER";
+
+ case EXIT_BUS_ENDPOINT:
+ return "BUS_ENDPOINT";
}
}
}
}
@@
-177,7
+186,7
@@
bool is_clean_exit(int code, int status, ExitStatusSet *success_status) {
if (code == CLD_EXITED)
return status == 0 ||
(success_status &&
if (code == CLD_EXITED)
return status == 0 ||
(success_status &&
- set_contains(success_status->
code
, INT_TO_PTR(status)));
+ set_contains(success_status->
status
, INT_TO_PTR(status)));
/* If a daemon does not implement handlers for some of the
* signals that's not considered an unclean shutdown */
/* If a daemon does not implement handlers for some of the
* signals that's not considered an unclean shutdown */
@@
-203,19
+212,17
@@
bool is_clean_exit_lsb(int code, int status, ExitStatusSet *success_status) {
(status == EXIT_NOTINSTALLED || status == EXIT_NOTCONFIGURED);
}
(status == EXIT_NOTINSTALLED || status == EXIT_NOTCONFIGURED);
}
-
int parse_show_status(const char *v, ShowStatus *ret
) {
-
int r
;
+
void exit_status_set_free(ExitStatusSet *x
) {
+
assert(x)
;
- assert(v);
- assert(ret);
+ set_free(x->status);
+ set_free(x->signal);
+ x->status = x->signal = NULL;
+}
- if (streq(v, "auto")) {
- *ret = SHOW_STATUS_AUTO;
- return 0;
- }
- r = parse_boolean(v);
- if (r < 0)
- return r;
- *ret = r ? SHOW_STATUS_YES : SHOW_STATUS_NO;
- return 0;
+bool exit_status_set_is_empty(ExitStatusSet *x) {
+ if (!x)
+ return true;
+
+ return set_isempty(x->status) && set_isempty(x->signal);
}
}