summaryrefslogtreecommitdiff
path: root/src/core/killall.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2012-07-17 17:44:26 +0200
committerLennart Poettering <lennart@poettering.net>2012-07-17 17:44:26 +0200
commitcee530bb23b78c0dfd18b0c2718cfe41286396df (patch)
tree1773a17edc3572b6f522ec877b935424106c2484 /src/core/killall.c
parent92a1fd9e95954a557d6fe27b56f5ef1b89fc2f5e (diff)
switch-root: don't wait for processes
When we transition from the initrd to the main system, don't reap processes, so that they can be handled normally after deserialization.
Diffstat (limited to 'src/core/killall.c')
-rw-r--r--src/core/killall.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/killall.c b/src/core/killall.c
index 5f589eaf4..6fcaf847c 100644
--- a/src/core/killall.c
+++ b/src/core/killall.c
@@ -150,7 +150,7 @@ static int killall(int sig) {
return n_processes;
}
-void broadcast_signal(int sig) {
+void broadcast_signal(int sig, bool wait) {
sigset_t mask, oldmask;
int n_processes;
@@ -169,7 +169,8 @@ void broadcast_signal(int sig) {
if (n_processes <= 0)
goto finish;
- wait_for_children(n_processes, &mask);
+ if (wait)
+ wait_for_children(n_processes, &mask);
finish:
sigprocmask(SIG_SETMASK, &oldmask, NULL);