diff options
| author | Boris Popov <bp@FreeBSD.org> | 2001-03-26 12:45:35 +0000 |
|---|---|---|
| committer | Boris Popov <bp@FreeBSD.org> | 2001-03-26 12:45:35 +0000 |
| commit | 602ef631729d5d1eb9892ca0fe915c1b8749d7cd (patch) | |
| tree | e5136dfa5cbf212e181ad298ff447f77da74f32b | |
| parent | f83880518b12341c0e6c9decc990ade59c9eb911 (diff) | |
Notes
| -rw-r--r-- | sys/kern/vfs_vnops.c | 5 |
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) |
