From e11dc4a213876143e7111dc0afee72a5cecd3b12 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 24 Apr 2010 00:02:12 +0200 Subject: [PATCH] manager: reexecute on SIGTERM, for compat with sysv --- manager.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/manager.c b/manager.c index 4244806c..c6555d40 100644 --- a/manager.c +++ b/manager.c @@ -1765,9 +1765,15 @@ static int manager_process_signal_fd(Manager *m) { sigchld = true; break; - case SIGINT: case SIGTERM: + if (m->running_as == MANAGER_INIT) + m->exit_code = MANAGER_REEXECUTE; + else + m->exit_code = MANAGER_EXIT; + return 0; + + case SIGINT: if (m->running_as == MANAGER_INIT) { manager_start_target(m, SPECIAL_CTRL_ALT_DEL_TARGET); break; @@ -1777,7 +1783,6 @@ static int manager_process_signal_fd(Manager *m) { return 0; case SIGWINCH: - if (m->running_as == MANAGER_INIT) manager_start_target(m, SPECIAL_KBREQUEST_TARGET); -- 2.39.5