1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-15 10:17:20 +00:00

- Fix a mistake in my last few commits. The PDROP flag stops msleep from

re-acquiring the mutex.

Pointy hat to:	me
Noticed by:	tegge
This commit is contained in:
Jeff Roberson 2002-08-23 00:32:03 +00:00
parent 95289fb2ec
commit ad32f726db
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=102297
2 changed files with 2 additions and 6 deletions

View File

@ -1919,7 +1919,6 @@ vget(vp, flags, td)
if (vp->v_iflag & VI_XLOCK && vp->v_vxproc != curthread) {
vp->v_iflag |= VI_XWANT;
msleep(vp, VI_MTX(vp), PINOD | PDROP, "vget", 0);
VI_UNLOCK(vp);
return (ENOENT);
}
@ -2412,7 +2411,6 @@ vop_revoke(ap)
vp->v_iflag |= VI_XWANT;
msleep(vp, VI_MTX(vp), PINOD | PDROP,
"vop_revokeall", 0);
VI_UNLOCK(vp);
return (0);
}
VI_UNLOCK(vp);
@ -2482,8 +2480,7 @@ vgonel(vp, td)
ASSERT_VI_LOCKED(vp);
if (vp->v_iflag & VI_XLOCK) {
vp->v_iflag |= VI_XWANT;
VI_UNLOCK(vp);
tsleep(vp, PINOD | PDROP, "vgone", 0);
msleep(vp, VI_MTX(vp), PINOD | PDROP, "vgone", 0);
return;
}

View File

@ -850,8 +850,7 @@ debug_vn_lock(vp, flags, td, filename, line)
VI_LOCK(vp);
if ((vp->v_iflag & VI_XLOCK) && vp->v_vxproc != curthread) {
vp->v_iflag |= VI_XWANT;
msleep(vp, VI_MTX(vp), PINOD | PDROP,
"vn_lock", 0);
msleep(vp, VI_MTX(vp), PINOD, "vn_lock", 0);
error = ENOENT;
if ((flags & LK_RETRY) == 0) {
VI_UNLOCK(vp);