From: Denys Vlasenko Date: Tue, 3 Apr 2012 06:16:05 +0000 (+0200) Subject: killall5: don't do STOP/CONT dance if the signal we send is SIGSTOP or SIGCONT X-Git-Tag: 1_20_0~17 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=14850308e902594785e6789a4f28677103ca2096;p=oweals%2Fbusybox.git killall5: don't do STOP/CONT dance if the signal we send is SIGSTOP or SIGCONT function old new delta kill_main 913 942 +29 Signed-off-by: Denys Vlasenko --- diff --git a/procps/kill.c b/procps/kill.c index b267a7aaf..cd189bcd6 100644 --- a/procps/kill.c +++ b/procps/kill.c @@ -163,7 +163,8 @@ int kill_main(int argc, char **argv) /* Find out our session id */ sid = getsid(pid); /* Stop all processes */ - kill(-1, SIGSTOP); + if (signo != SIGSTOP && signo != SIGCONT) + kill(-1, SIGSTOP); /* Signal all processes except those in our session */ while ((p = procps_scan(p, PSSCAN_PID|PSSCAN_SID)) != NULL) { int i; @@ -203,7 +204,8 @@ int kill_main(int argc, char **argv) } resume: /* And let them continue */ - kill(-1, SIGCONT); + if (signo != SIGSTOP && signo != SIGCONT) + kill(-1, SIGCONT); return ret; }