From fbc43921be7ed06112897d55e4d0b7ab986edc07 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 13 Aug 2010 04:53:00 +0200 Subject: [PATCH] systemctl: properly detect whether taling to systemd via D-Bus worked before falling back to upstart/initctl --- src/systemctl.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/systemctl.c b/src/systemctl.c index 6d17649a..2e7a6a8c 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."); -- 2.39.5