X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmanager.c;h=f9763c838a2faab722fd6b0720579818931d31b7;hb=4176e530794dc1f29c99d15a22be07ed83f4477c;hp=554dd8e866b9910be9c80bb876fdd6941e612027;hpb=399ab2b1ac07be5afa9708b3280d4e1a4cceb5b8;p=elogind.git diff --git a/src/manager.c b/src/manager.c index 554dd8e86..f9763c838 100644 --- a/src/manager.c +++ b/src/manager.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -421,7 +420,8 @@ void manager_free(Manager *m) { /* If we reexecute ourselves, we keep the root cgroup * around */ - manager_shutdown_cgroup(m, m->exit_code != MANAGER_REEXECUTE); + if (m->exit_code != MANAGER_REEXECUTE) + manager_shutdown_cgroup(m); bus_done(m); @@ -1879,7 +1879,7 @@ static int manager_process_signal_fd(Manager *m) { if ((int) sfsi.ssi_signo >= SIGRTMIN+0 && (int) sfsi.ssi_signo < SIGRTMIN+(int) ELEMENTSOF(table)) { manager_start_target(m, table[sfsi.ssi_signo - SIGRTMIN], - sfsi.ssi_signo == 2 ? JOB_ISOLATE : JOB_REPLACE); + (sfsi.ssi_signo == 1 || sfsi.ssi_signo == 2) ? JOB_ISOLATE : JOB_REPLACE); break; }