From: Lennart Poettering Date: Fri, 23 Apr 2010 22:02:12 +0000 (+0200) Subject: manager: reexecute on SIGTERM, for compat with sysv X-Git-Tag: v1~461 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=e11dc4a213876143e7111dc0afee72a5cecd3b12 manager: reexecute on SIGTERM, for compat with sysv --- diff --git a/manager.c b/manager.c index 4244806ce..c6555d40b 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);