diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2012-06-13 18:27:41 +0200 |
---|---|---|
committer | Michal Schmidt <mschmidt@redhat.com> | 2012-06-13 18:42:02 +0200 |
commit | 1c291cf34cb22c8ca5ec0db122bd5e8bfabe9ac5 (patch) | |
tree | 912611aa7b5c52f48c60e5ff299e35ce3a76c099 /src/systemctl/systemctl.c | |
parent | 222d0348f97aa132cc24ed3a38f18463e9b0e8c9 (diff) |
systemctl: warn about all active triggers, not just sockets
Diffstat (limited to 'src/systemctl/systemctl.c')
-rw-r--r-- | src/systemctl/systemctl.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 0e6b2ec30c..223e862a53 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -1685,7 +1685,7 @@ finish: return r; } -static void check_listening_sockets( +static void check_triggering_units( DBusConnection *bus, const char *unit_name) { @@ -1748,20 +1748,17 @@ static void check_listening_sockets( dbus_message_iter_get_basic(&sub, &service_trigger); - if (!endswith(service_trigger, ".socket")) - goto next; - r = check_one_unit(bus, service_trigger, true); if (r < 0) goto finish; if (r == 0) { if (print_warning_label) { - log_warning("There are listening sockets associated with %s :", unit_name); + log_warning("Warning: Stopping %s, but it can still be activated by:", unit_name); print_warning_label = false; } - log_warning("%s", service_trigger); + log_warning(" %s", service_trigger); } -next: + dbus_message_iter_next(&sub); } finish: @@ -1856,9 +1853,10 @@ static int start_unit_one( } } - /* When stopping unit check if we have some listening sockets active */ - if (streq(method, "StopUnit") && !arg_quiet) - check_listening_sockets(bus, name); + /* 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); r = 0; |