X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fkillall.c;h=55200ffa4847e2eb8053c51201a451335c094603;hb=bfba3256a02a0871579c4ee48d787dfe4585fd8d;hp=5f589eaf47430dec365f932fbe9fcec23f0d62e8;hpb=bd3fa1d2434aa28564251ac4da34d01537de8c4b;p=elogind.git diff --git a/src/core/killall.c b/src/core/killall.c index 5f589eaf4..55200ffa4 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_for_exit) { 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_for_exit) + wait_for_children(n_processes, &mask); finish: sigprocmask(SIG_SETMASK, &oldmask, NULL);