[git commit] killall5: return 2 if no processes got killed

Denys Vlasenko vda.linux at googlemail.com
Mon Dec 16 16:44:58 UTC 2013


commit: http://git.busybox.net/busybox/commit/?id=3ac1e0d753ca8e918a3b97020ae09058efffe057
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
kill_main                                            943     992     +49

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

diff --git a/procps/kill.c b/procps/kill.c
index cd189bc..8e42137 100644
--- a/procps/kill.c
+++ b/procps/kill.c
@@ -158,7 +158,8 @@ int kill_main(int argc, char **argv)
 	if (killall5) {
 		pid_t sid;
 		procps_status_t* p = NULL;
-		int ret = 0;
+		/* compat: exitcode 2 is "no one was signaled" */
+		int ret = 2;
 
 		/* Find out our session id */
 		sid = getsid(pid);
@@ -170,6 +171,7 @@ int kill_main(int argc, char **argv)
 			int i;
 
 			if (p->sid == (unsigned)sid
+			 || p->sid == 0 /* compat: kernel thread, don't signal it */
 			 || p->pid == (unsigned)pid
 			 || p->pid == 1
 			) {
@@ -200,6 +202,7 @@ int kill_main(int argc, char **argv)
 					goto dont_kill;
 			}
 			kill(p->pid, signo);
+			ret = 0;
  dont_kill: ;
 		}
  resume:


More information about the busybox-cvs mailing list