aboutsummaryrefslogtreecommitdiff
path: root/procps/kill.c
diff options
context:
space:
mode:
Diffstat (limited to 'procps/kill.c')
-rw-r--r--procps/kill.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/procps/kill.c b/procps/kill.c
index b839b3819..ed659afdc 100644
--- a/procps/kill.c
+++ b/procps/kill.c
@@ -106,19 +106,19 @@ int kill_main(int argc, char **argv)
106 argc--; 106 argc--;
107 107
108do_it_now: 108do_it_now:
109 pid = getpid();
109 110
110 if (killall5) { 111 if (killall5) {
111 pid_t sid; 112 pid_t sid;
112 procps_status_t* p = NULL; 113 procps_status_t* p = NULL;
113 114
114 /* Now stop all processes */
115 kill(-1, SIGSTOP);
116 /* Find out our own session id */ 115 /* Find out our own session id */
117 pid = getpid();
118 sid = getsid(pid); 116 sid = getsid(pid);
117 /* Now stop all processes */
118 kill(-1, SIGSTOP);
119 /* Now kill all processes except our session */ 119 /* Now kill all processes except our session */
120 while ((p = procps_scan(p, PSSCAN_PID|PSSCAN_SID))) { 120 while ((p = procps_scan(p, PSSCAN_PID|PSSCAN_SID))) {
121 if (p->sid != sid && p->pid != pid && p->pid != 1) 121 if (p->sid != (unsigned)sid && p->pid != (unsigned)pid && p->pid != 1)
122 kill(p->pid, signo); 122 kill(p->pid, signo);
123 } 123 }
124 /* And let them continue */ 124 /* And let them continue */
@@ -134,7 +134,6 @@ do_it_now:
134 134
135 if (killall) { 135 if (killall) {
136 /* Looks like they want to do a killall. Do that */ 136 /* Looks like they want to do a killall. Do that */
137 pid = getpid();
138 while (arg) { 137 while (arg) {
139 pid_t* pidList; 138 pid_t* pidList;
140 139