chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
c0daa70
)
systemctl: properly handle job results
author
Lennart Poettering
<lennart@poettering.net>
Thu, 24 Feb 2011 02:24:51 +0000
(
03:24
+0100)
committer
Lennart Poettering
<lennart@poettering.net>
Thu, 24 Feb 2011 02:24:51 +0000
(
03:24
+0100)
src/systemctl.c
patch
|
blob
|
history
diff --git
a/src/systemctl.c
b/src/systemctl.c
index 82741bc6e739bea3ee64d2939687831f308c933a..b33a89f63d76d9bd3ae05d28db2f5b35a75aca4d 100644
(file)
--- a/
src/systemctl.c
+++ b/
src/systemctl.c
@@
-1248,11
+1248,19
@@
static int wait_for_jobs(DBusConnection *bus, Set *s) {
log_error("Job canceled.");
else if (streq(d.result, "dependency"))
log_error("A dependency job failed. See system logs for details.");
log_error("Job canceled.");
else if (streq(d.result, "dependency"))
log_error("A dependency job failed. See system logs for details.");
- else
+ else
if (!streq(d.result, "done"))
log_error("Job failed. See system logs and 'systemctl status' for details.");
}
log_error("Job failed. See system logs and 'systemctl status' for details.");
}
- r = d.result ? -EIO : 0;
+ if (streq_ptr(d.result, "timeout"))
+ r = -ETIME;
+ else if (streq_ptr(d.result, "canceled"))
+ r = -ECANCELED;
+ else if (!streq_ptr(d.result, "done"))
+ r = -EIO;
+ else
+ r = 0;
+
free(d.result);
finish:
free(d.result);
finish: