From 14850308e902594785e6789a4f28677103ca2096 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 3 Apr 2012 08:16:05 +0200 Subject: 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 --- procps/kill.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'procps/kill.c') 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; } -- cgit v1.2.3