systemctl: warn about triggering units only at the end

Instead of checking each unit separately, check once at the end. This
should avoid spurious warnings about a service being triggerable by
other stuff.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2012-09-19 08:27:34 +02:00
parent d39b034af6
commit 49111a708e
2 changed files with 10 additions and 11 deletions
+10 -5
View File
@@ -1584,11 +1584,6 @@ static int start_unit_one(
p = NULL;
}
/* When stopping a unit warn if it can still be triggered by
* another active unit (socket, path, timer) */
if (!arg_quiet && streq(method, "StopUnit"))
check_triggering_units(bus, name);
return 0;
}
@@ -1723,6 +1718,16 @@ static int start_unit(DBusConnection *bus, char **args) {
ret = r;
goto finish;
}
/* 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);
}
}
finish: