diff options
author | Olivier Houchard <cognet@FreeBSD.org> | 2003-11-04 01:41:47 +0000 |
---|---|---|
committer | Olivier Houchard <cognet@FreeBSD.org> | 2003-11-04 01:41:47 +0000 |
commit | 7922cdc855467c3b1e8268fc446885f38950406d (patch) | |
tree | 0d07607805abe659c3710f312143a8fae8b09e1c /sys/kern/kern_event.c | |
parent | fce33fc5eb3356f304e40bd9593328c66d821b39 (diff) | |
download | src-7922cdc855467c3b1e8268fc446885f38950406d.tar.gz src-7922cdc855467c3b1e8268fc446885f38950406d.zip |
I believe kbyanc@ really meant this in rev 1.58.
Use zpfind() to see if the process became a zombie if pfind() doesn't find it
and if the caller wants to know about process death, so that the caller knows
the process died even if it happened before the kevent was actually registered.
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=122019
Diffstat (limited to 'sys/kern/kern_event.c')
-rw-r--r-- | sys/kern/kern_event.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index 85ee24e46efb..63a914f5d276 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -195,12 +195,12 @@ filt_procattach(struct knote *kn) immediate = 0; p = pfind(kn->kn_id); - if (p == NULL) - return (ESRCH); if (p == NULL && (kn->kn_sfflags & NOTE_EXIT)) { p = zpfind(kn->kn_id); immediate = 1; } + if (p == NULL) + return (ESRCH); if ((error = p_cansee(curthread, p))) { PROC_UNLOCK(p); return (error); |