[systemd-devel] [PATCH 1/3] systemctl: check for triggering units before calling StopUnit
Michal Sekletar
msekleta at redhat.com
Fri Aug 9 07:00:22 PDT 2013
>From a62d3668fb2513b1ece827520d44d5b7cd560407 Mon Sep 17 00:00:00 2001
From: Michal Sekletar <msekleta at redhat.com>
Date: Thu, 8 Aug 2013 13:26:56 +0200
Subject: [PATCH 1/3] systemctl: check for triggering units before calling
StopUnit
Rearranging the code in a way that we always check for triggers before
we issue StopUnit D-Bus call. This will make behavior consistent,
because triggers are always checked.
https://bugzilla.redhat.com/show_bug.cgi?id=908690
---
src/systemctl/systemctl.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index 8ec1824..ee47841 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -1980,6 +1980,16 @@ static int start_unit(DBusConnection *bus, char **args) {
return log_oom();
}
+ /* When stopping units, warn if they can still be triggered by
+ * another active unit (socket, path, timer) */
+ if (!arg_quiet && streq(method, "StopUnit")) {
+ if (one_name)
+ check_triggering_units(bus, one_name);
+ else
+ STRV_FOREACH(name, args+1)
+ check_triggering_units(bus, *name);
+ }
+
if (one_name) {
ret = start_unit_one(bus, method, one_name, mode, &error, s);
if (ret < 0)
@@ -1998,16 +2008,6 @@ static int start_unit(DBusConnection *bus, char **args) {
r = wait_for_jobs(bus, s);
if (r < 0)
return r;
-
- /* When stopping units, warn if they can still be triggered by
- * another active unit (socket, path, timer) */
- if (!arg_quiet && streq(method, "StopUnit")) {
- if (one_name)
- check_triggering_units(bus, one_name);
- else
- STRV_FOREACH(name, args+1)
- check_triggering_units(bus, *name);
- }
}
return ret;
--
1.8.3.1
More information about the systemd-devel
mailing list