diff options
author | 2001-06-05 21:47:07 +0000 | |
---|---|---|
committer | 2001-06-05 21:47:07 +0000 | |
commit | 18a9ce4999cbafada38fa51d466cf34671f63dbc (patch) | |
tree | 466b0d14aa9aeb93ef20279fdea3a3c79844f98f /sys/kern/vfs_subr.c | |
parent | PF_KEY identity extensions are NUL-terminated. Now, also calculate (diff) | |
download | wireguard-openbsd-18a9ce4999cbafada38fa51d466cf34671f63dbc.tar.xz wireguard-openbsd-18a9ce4999cbafada38fa51d466cf34671f63dbc.zip |
send note_revoke to knotes when vnode goes away, okay art@
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r-- | sys/kern/vfs_subr.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 3d77ff1c57f..e80f0e6d0d6 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_subr.c,v 1.60 2001/05/16 13:54:37 art Exp $ */ +/* $OpenBSD: vfs_subr.c,v 1.61 2001/06/05 21:47:07 provos Exp $ */ /* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */ /* @@ -121,6 +121,9 @@ static __inline__ void vputonfreelist __P((struct vnode *)); void printlockedvnodes __P((void)); #endif +#define VN_KNOTE(vp, b) \ + KNOTE((struct klist *)&vp->v_selectinfo.vsi_selinfo.si_note, (b)) + struct pool vnode_pool; /* @@ -1042,6 +1045,9 @@ vclean(vp, flags, p) * Done with purge, notify sleepers of the grim news. */ vp->v_op = dead_vnodeop_p; + simple_lock(&vp->v_selectinfo.vsi_lock); + VN_KNOTE(vp, NOTE_REVOKE); + simple_unlock(&vp->v_selectinfo.vsi_lock); vp->v_tag = VT_NON; vp->v_flag &= ~VXLOCK; #ifdef DIAGNOSTIC |