summaryrefslogtreecommitdiffstats
path: root/usr.bin/pkill
diff options
context:
space:
mode:
authorgad <gad@FreeBSD.org>2004-03-26 17:51:49 +0000
committergad <gad@FreeBSD.org>2004-03-26 17:51:49 +0000
commit56527d5cca49cfea392d01a6f3e4c0de322883a7 (patch)
treed84be6f8075a87918965f58bd035f246cf0e0539 /usr.bin/pkill
parentf32b255d3a44b0a264dfd37013eae021d353f7a3 (diff)
downloadFreeBSD-src-56527d5cca49cfea392d01a6f3e4c0de322883a7.zip
FreeBSD-src-56527d5cca49cfea392d01a6f3e4c0de322883a7.tar.gz
Switch to checking P_KTHREAD instead of P_SYSTEM when deciding what
"system processes" to always ignore. Based on my testing with `-D', I am pretty sure this is what we want for 5.x-current. If my thinking is wrong, this also makes it easier to switch to a different check.
Diffstat (limited to 'usr.bin/pkill')
-rw-r--r--usr.bin/pkill/pkill.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/usr.bin/pkill/pkill.c b/usr.bin/pkill/pkill.c
index be7f58a..6318965 100644
--- a/usr.bin/pkill/pkill.c
+++ b/usr.bin/pkill/pkill.c
@@ -72,6 +72,13 @@ __FBSDID("$FreeBSD$");
# if __FreeBSD_version < 300000
# define NEED_KMEM
# endif
+# if __FreeBSD_version > 502000
+# define IS_KERNPROC(xPtr) (xPtr->ki_flag & P_KTHREAD)
+# endif
+#endif
+
+#if !defined(IS_KERNPROC)
+#define IS_KERNPROC(xPtr) (xPtr->ki_flag & P_SYSTEM)
#endif
enum listtype {
@@ -290,7 +297,7 @@ main(int argc, char **argv)
}
for (i = 0, kp = plist; i < nproc; i++, kp++) {
- if ((kp->ki_flag & P_SYSTEM) != 0) {
+ if (IS_KERNPROC(kp) != 0) {
if (debug_opt > 0)
fprintf(stderr, "* Skipped %5d %3d %s\n",
kp->ki_pid, kp->ki_uid, kp->ki_comm);
@@ -340,7 +347,7 @@ main(int argc, char **argv)
}
for (i = 0, kp = plist; i < nproc; i++, kp++) {
- if ((kp->ki_flag & P_SYSTEM) != 0)
+ if (IS_KERNPROC(kp) != 0)
continue;
SLIST_FOREACH(li, &ruidlist, li_chain)
@@ -442,7 +449,7 @@ main(int argc, char **argv)
} else if (!inverse)
continue;
- if ((kp->ki_flag & P_SYSTEM) != 0)
+ if (IS_KERNPROC(kp) != 0)
continue;
rv = 1;
OpenPOWER on IntegriCloud