From: Mike Yuan Date: Tue, 9 Jan 2024 11:43:41 +0000 (+0800) Subject: machined,portabled: remove unneeded NOTIFY_STOPPING X-Git-Tag: v256-rc1~1219^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f359b3073fab8978b1b1a85133d6506c5403d39f;p=thirdparty%2Fsystemd.git machined,portabled: remove unneeded NOTIFY_STOPPING This is done internally by bus_event_loop_with_idle(). --- diff --git a/src/machine/machined.c b/src/machine/machined.c index 4e830a4bc23..108fe0327b5 100644 --- a/src/machine/machined.c +++ b/src/machine/machined.c @@ -320,17 +320,6 @@ static bool check_idle(void *userdata) { return hashmap_isempty(m->machines); } -static int manager_run(Manager *m) { - assert(m); - - return bus_event_loop_with_idle( - m->event, - m->bus, - "org.freedesktop.machine1", - DEFAULT_EXIT_USEC, - check_idle, m); -} - static int run(int argc, char *argv[]) { _cleanup_(manager_unrefp) Manager *m = NULL; int r; @@ -363,16 +352,20 @@ static int run(int argc, char *argv[]) { if (r < 0) return log_error_errno(r, "Failed to fully start up daemon: %m"); - log_debug("systemd-machined running as pid "PID_FMT, getpid_cached()); r = sd_notify(false, NOTIFY_READY); if (r < 0) log_warning_errno(r, "Failed to send readiness notification, ignoring: %m"); - r = manager_run(m); + r = bus_event_loop_with_idle( + m->event, + m->bus, + "org.freedesktop.machine1", + DEFAULT_EXIT_USEC, + check_idle, m); + if (r < 0) + return log_error_errno(r, "Failed to run main loop: %m"); - (void) sd_notify(false, NOTIFY_STOPPING); - log_debug("systemd-machined stopped as pid "PID_FMT, getpid_cached()); - return r; + return 0; } DEFINE_MAIN_FUNCTION(run); diff --git a/src/portable/portabled.c b/src/portable/portabled.c index 7c2ddd90ef7..d4a01fa53b0 100644 --- a/src/portable/portabled.c +++ b/src/portable/portabled.c @@ -122,17 +122,6 @@ static bool check_idle(void *userdata) { return !m->operations; } -static int manager_run(Manager *m) { - assert(m); - - return bus_event_loop_with_idle( - m->event, - m->bus, - "org.freedesktop.portable1", - DEFAULT_EXIT_USEC, - check_idle, m); -} - static int run(int argc, char *argv[]) { _cleanup_(manager_unrefp) Manager *m = NULL; int r; @@ -162,16 +151,20 @@ static int run(int argc, char *argv[]) { if (r < 0) return log_error_errno(r, "Failed to fully start up daemon: %m"); - log_debug("systemd-portabled running as pid " PID_FMT, getpid_cached()); r = sd_notify(false, NOTIFY_READY); if (r < 0) log_warning_errno(r, "Failed to send readiness notification, ignoring: %m"); - r = manager_run(m); + r = bus_event_loop_with_idle( + m->event, + m->bus, + "org.freedesktop.portable1", + DEFAULT_EXIT_USEC, + check_idle, m); + if (r < 0) + return log_error_errno(r, "Failed to run main loop: %m"); - (void) sd_notify(false, NOTIFY_STOPPING); - log_debug("systemd-portabled stopped as pid " PID_FMT, getpid_cached()); - return r; + return 0; } DEFINE_MAIN_FUNCTION(run); diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c index 4123152d93a..09a3734aebc 100644 --- a/src/shared/bus-util.c +++ b/src/shared/bus-util.c @@ -18,6 +18,7 @@ #include "bus-internal.h" #include "bus-label.h" #include "bus-util.h" +#include "daemon-util.h" #include "data-fd-util.h" #include "fd-util.h" #include "memstream-util.h" @@ -128,8 +129,8 @@ int bus_event_loop_with_idle( if (r == 0 && !exiting && idle) { /* Inform the service manager that we are going down, so that it will queue all - * further start requests, instead of assuming we are already running. */ - sd_notify(false, "STOPPING=1"); + * further start requests, instead of assuming we are still running. */ + (void) sd_notify(false, NOTIFY_STOPPING); r = bus_async_unregister_and_exit(e, bus, name); if (r < 0)