From 16a0cbe915a99edc4592417e932527c1558b44a3 Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Sun, 19 Oct 2025 19:41:13 +0200 Subject: [PATCH] core/service: merge service_enter_reload_mounting() into _refresh_extensions() --- src/core/service.c | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/core/service.c b/src/core/service.c index c1f6d3445aa..48462b5d185 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -2809,13 +2809,19 @@ static void service_enter_refresh_extensions(Service *s) { /* If we don't have extensions to reload, immediately go to the signal step */ if (!service_should_reload_extensions(s)) - return (void) service_enter_reload_signal_exec(s); + return service_enter_reload_signal_exec(s); service_unwatch_control_pid(s); s->reload_result = SERVICE_SUCCESS; s->control_command = NULL; s->control_command_id = _SERVICE_EXEC_COMMAND_INVALID; + r = service_arm_timer(s, /* relative= */ true, s->timeout_start_usec); + if (r < 0) { + log_unit_warning_errno(UNIT(s), r, "Failed to install timer: %m"); + goto fail; + } + /* Given we are running from PID1, avoid doing potentially heavy I/O operations like opening images * directly, and instead fork a worker process. */ r = unit_fork_helper_process(UNIT(s), "(sd-refresh-extensions)", /* into_cgroup= */ false, &worker); @@ -2874,22 +2880,6 @@ fail: service_enter_running(s, SERVICE_SUCCESS); } -static void service_enter_reload_mounting(Service *s) { - int r; - - assert(s); - - r = service_arm_timer(s, /* relative= */ true, s->timeout_start_usec); - if (r < 0) { - log_unit_warning_errno(UNIT(s), r, "Failed to install timer: %m"); - s->reload_result = SERVICE_FAILURE_RESOURCES; - service_enter_running(s, SERVICE_SUCCESS); - return; - } - - service_enter_refresh_extensions(s); -} - static void service_run_next_control(Service *s) { usec_t timeout; int r; @@ -3106,7 +3096,7 @@ static int service_reload(Unit *u) { assert(IN_SET(s->state, SERVICE_RUNNING, SERVICE_EXITED)); - service_enter_reload_mounting(s); + service_enter_refresh_extensions(s); return 1; } -- 2.47.3