[systemd-commits] src/systemctl.c
Lennart Poettering
lennart at kemper.freedesktop.org
Tue Aug 31 17:03:47 PDT 2010
src/systemctl.c | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
New commits:
commit 706900b704eac4eb26e3e30795c2ead8b0c3e673
Author: Lennart Poettering <lennart at poettering.net>
Date: Wed Sep 1 02:03:41 2010 +0200
systemctl: fix return value of systemctl start and friends
diff --git a/src/systemctl.c b/src/systemctl.c
index 41aea09..901804a 100644
--- a/src/systemctl.c
+++ b/src/systemctl.c
@@ -1134,7 +1134,7 @@ static int start_unit_one(
if (arg_action != ACTION_SYSTEMCTL && error_is_no_service(error)) {
/* There's always a fallback possible for
* legacy actions. */
- r = 0;
+ r = -EADDRNOTAVAIL;
goto finish;
}
@@ -1171,11 +1171,7 @@ static int start_unit_one(
}
}
- r = 1;
-
- /* Returns 1 if we managed to issue the request, and 0 if we
- * failed due to systemd not being around. This is then used
- * as indication to try a fallback mechanism. */
+ r = 0;
finish:
if (m)
@@ -1281,12 +1277,7 @@ static int start_unit(DBusConnection *bus, char **args, unsigned n) {
} else {
for (i = 1; i < n; i++)
if ((r = start_unit_one(bus, method, args[i], mode, &error, s)) != 0) {
-
- if (r > 0)
- ret = r;
- else
- ret = translate_bus_error_to_exit_status(r, &error);
-
+ ret = translate_bus_error_to_exit_status(r, &error);
dbus_error_free(&error);
}
}
@@ -4867,7 +4858,7 @@ static int start_with_fallback(DBusConnection *bus) {
if (bus) {
/* First, try systemd via D-Bus. */
- if (start_unit(bus, NULL, 0) > 0)
+ if (start_unit(bus, NULL, 0) >= 0)
goto done;
}
More information about the systemd-commits
mailing list