summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsthen <sthen@openbsd.org>2012-03-13 09:44:49 +0000
committersthen <sthen@openbsd.org>2012-03-13 09:44:49 +0000
commitf8b69d175b65ad79f5ea6a628a0a2f28a03d0396 (patch)
treefb368e693529b97ced4c0f5bc8c08d6b8510531e
parentDon't trust the environment if issetugid() (diff)
downloadwireguard-openbsd-f8b69d175b65ad79f5ea6a628a0a2f28a03d0396.tar.xz
wireguard-openbsd-f8b69d175b65ad79f5ea6a628a0a2f28a03d0396.zip
Teach pgrep/pkill to only match processes, not threads. ok guenther@
-rw-r--r--usr.bin/pkill/pkill.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/usr.bin/pkill/pkill.c b/usr.bin/pkill/pkill.c
index 531576b9a63..34681f4fc2e 100644
--- a/usr.bin/pkill/pkill.c
+++ b/usr.bin/pkill/pkill.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pkill.c,v 1.24 2012/03/01 13:04:29 lum Exp $ */
+/* $OpenBSD: pkill.c,v 1.25 2012/03/13 09:44:49 sthen Exp $ */
/* $NetBSD: pkill.c,v 1.5 2002/10/27 11:49:34 kleink Exp $ */
/*-
@@ -254,7 +254,8 @@ main(int argc, char **argv)
}
for (i = 0, kp = plist; i < nproc; i++, kp++) {
- if ((kp->p_flag & P_SYSTEM) != 0 || kp->p_pid == mypid)
+ if ((kp->p_flag & (P_SYSTEM | P_THREAD)) != 0 ||
+ kp->p_pid == mypid)
continue;
if (matchargs) {
@@ -297,7 +298,8 @@ main(int argc, char **argv)
}
for (i = 0, kp = plist; i < nproc; i++, kp++) {
- if ((kp->p_flag & P_SYSTEM) != 0 || kp->p_pid == mypid)
+ if ((kp->p_flag & (P_SYSTEM | P_THREAD)) != 0 ||
+ kp->p_pid == mypid)
continue;
SLIST_FOREACH(li, &ruidlist, li_chain)
@@ -407,7 +409,8 @@ main(int argc, char **argv)
*/
rv = STATUS_NOMATCH;
for (i = 0, j = 0, kp = plist; i < nproc; i++, kp++) {
- if ((kp->p_flag & P_SYSTEM) != 0 || kp->p_pid == mypid)
+ if ((kp->p_flag & (P_SYSTEM | P_THREAD)) != 0 ||
+ kp->p_pid == mypid)
continue;
if (selected[i]) {
if (longfmt && !pgrep)