manager: connect SIGRTMIN+24 to terminating --user instances

This commit is contained in:
Lennart Poettering 2012-10-18 01:19:35 +02:00
parent 97ae63e2a9
commit 600b704eb0
2 changed files with 18 additions and 0 deletions

View File

@ -837,6 +837,14 @@
line.</para></listitem>
</varlistentry>
<varlistentry>
<term>SIGRTMIN+24</term>
<listitem><para>Immediately exits the
manager (only available for --user
instances).</para></listitem>
</varlistentry>
<varlistentry>
<term>SIGRTMIN+26</term>
<term>SIGRTMIN+27</term>

View File

@ -199,6 +199,7 @@ static int manager_setup_signals(Manager *m) {
SIGRTMIN+21, /* systemd: disable status messages */
SIGRTMIN+22, /* systemd: set log level to LOG_DEBUG */
SIGRTMIN+23, /* systemd: set log level to LOG_INFO */
SIGRTMIN+24, /* systemd: Immediate exit (--user only) */
SIGRTMIN+26, /* systemd: set log target to journal-or-kmsg */
SIGRTMIN+27, /* systemd: set log target to console */
SIGRTMIN+28, /* systemd: set log target to kmsg */
@ -1272,6 +1273,15 @@ static int manager_process_signal_fd(Manager *m) {
log_notice("Setting log level to info.");
break;
case 24:
if (m->running_as == SYSTEMD_USER) {
m->exit_code = MANAGER_EXIT;
return 0;
}
/* This is a nop on init */
break;
case 26:
log_set_target(LOG_TARGET_JOURNAL_OR_KMSG);
log_notice("Setting log target to journal-or-kmsg.");