[systemd-devel] [PATCH] systemctl: fix misleading warning message
Zbigniew Jędrzejewski-Szmek
zbyszek at in.waw.pl
Fri Sep 21 08:31:24 PDT 2012
On Mon, Sep 17, 2012 at 09:23:49PM +0200, Michal Sekletar wrote:
> From: Michal Sekletar <sekletar.m at gmail.com>
>
> When stopping multiple units at once do not print warning about
> triggering units when they are stopped by the same command.
Hi,
is this warning actually still generated after 49111a70?
Zbyszek
> ---
> src/systemctl/systemctl.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
> index cc9c775..f8bcb2c 100644
> --- a/src/systemctl/systemctl.c
> +++ b/src/systemctl/systemctl.c
> @@ -1443,7 +1443,8 @@ finish:
>
> static void check_triggering_units(
> DBusConnection *bus,
> - const char *unit_name) {
> + const char *unit_name,
> + char **args) {
>
> DBusMessage _cleanup_dbus_msg_unref_ *reply = NULL;
> DBusMessageIter iter, sub;
> @@ -1503,7 +1504,8 @@ static void check_triggering_units(
> r = check_one_unit(bus, service_trigger, true);
> if (r < 0)
> return;
> - if (r == 0) {
> +
> + if (r == 0 && !strv_find(args, service_trigger)) {
> if (print_warning_label) {
> log_warning("Warning: Stopping %s, but it can still be activated by:", unit_name);
> print_warning_label = false;
> @@ -1723,10 +1725,10 @@ static int start_unit(DBusConnection *bus, char **args) {
> * another active unit (socket, path, timer) */
> if (!arg_quiet && streq(method, "StopUnit")) {
> if (one_name)
> - check_triggering_units(bus, one_name);
> + check_triggering_units(bus, one_name, args + 1);
> else
> STRV_FOREACH(name, args+1)
> - check_triggering_units(bus, *name);
> + check_triggering_units(bus, *name, args + 1);
> }
> }
>
> --
> 1.7.9.6 (Apple Git-31.1)
>
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
>
More information about the systemd-devel
mailing list