aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Popov <bp@FreeBSD.org>2001-03-26 12:45:35 +0000
committerBoris Popov <bp@FreeBSD.org>2001-03-26 12:45:35 +0000
commit602ef631729d5d1eb9892ca0fe915c1b8749d7cd (patch)
treee5136dfa5cbf212e181ad298ff447f77da74f32b
parentf83880518b12341c0e6c9decc990ade59c9eb911 (diff)
Notes
-rw-r--r--sys/kern/vfs_vnops.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index bf33d16b8fdac..4cb77c13ac9ff 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -619,13 +619,14 @@ debug_vn_lock(vp, flags, p, filename, line)
#endif
{
int error;
-
+
do {
if ((flags & LK_INTERLOCK) == 0)
mtx_lock(&vp->v_interlock);
if ((vp->v_flag & VXLOCK) && vp->v_vxproc != curproc) {
vp->v_flag |= VXWANT;
- msleep(vp, &vp->v_interlock, PINOD, "vn_lock", 0);
+ msleep(vp, &vp->v_interlock, PINOD | PDROP,
+ "vn_lock", 0);
error = ENOENT;
} else {
if (vp->v_vxproc != NULL)