From 7eedec7307dd5d1f4f4ad1b61b01e7283856388b Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 11 Jul 2024 14:33:38 +0200 Subject: [PATCH] manager: move is-system check into manager_enable_special_signals() It's usually how we do this: make the functions robust to be called in any context, and validate the context in the functions themselves early, instead of in the caller. --- src/core/manager.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/core/manager.c b/src/core/manager.c index f5588380d63..1504d3fd7de 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -477,12 +477,12 @@ static int manager_setup_timezone_change(Manager *m) { return 0; } -static int enable_special_signals(Manager *m) { +static int manager_enable_special_signals(Manager *m) { _cleanup_close_ int fd = -EBADF; assert(m); - if (MANAGER_IS_TEST_RUN(m)) + if (!MANAGER_IS_SYSTEM(m) || MANAGER_IS_TEST_RUN(m)) return 0; /* Enable that we get SIGINT on control-alt-del. In containers this will fail with EPERM (older) or @@ -608,10 +608,7 @@ static int manager_setup_signals(Manager *m) { (void) sd_notify(/* unset_environment= */ false, "X_SYSTEMD_SIGNALS_LEVEL=2"); - if (MANAGER_IS_SYSTEM(m)) - return enable_special_signals(m); - - return 0; + return manager_enable_special_signals(m); } static char** sanitize_environment(char **l) { -- 2.47.3