[git commit] killall5: don't do STOP/CONT dance if the signal we send is SIGSTOP or SIGCONT

Denys Vlasenko vda.linux at googlemail.com
Tue Apr 3 06:16:05 UTC 2012


commit: http://git.busybox.net/busybox/commit/?id=14850308e902594785e6789a4f28677103ca2096
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
kill_main                                            913     942     +29

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 procps/kill.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/procps/kill.c b/procps/kill.c
index b267a7a..cd189bc 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;
 	}
 


More information about the busybox-cvs mailing list