From: Lennart Poettering Date: Fri, 13 Aug 2010 02:53:00 +0000 (+0200) Subject: systemctl: properly detect whether taling to systemd via D-Bus worked before falling... X-Git-Tag: v8~100 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=fbc43921be7ed06112897d55e4d0b7ab986edc07 systemctl: properly detect whether taling to systemd via D-Bus worked before falling back to upstart/initctl --- diff --git a/src/systemctl.c b/src/systemctl.c index 6d17649a7..2e7a6a8c5 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -1171,7 +1171,10 @@ static int start_unit(DBusConnection *bus, char **args, unsigned n) { } if (!arg_no_block) - r = wait_for_jobs(bus, s); + if ((r = wait_for_jobs(bus, s)) < 0) + goto finish; + + r = 1; finish: if (s) @@ -4599,7 +4602,7 @@ static int start_with_fallback(DBusConnection *bus) { /* Nothing else worked, so let's try * /dev/initctl */ - if (talk_initctl() != 0) + if (talk_initctl() > 0) goto done; log_error("Failed to talk to init daemon.");