Esempio n. 1
0
void
VLockFileUnlock(struct VLockFile *lf, afs_uint32 offset)
{
    MUTEX_ENTER(&lf->mutex);

    osi_Assert(lf->fd != INVALID_FD);

    if (--lf->refcount < 1) {
	_VCloseFd(lf->fd);
	lf->fd = INVALID_FD;
    } else {
	_VUnlockFd(lf->fd, offset);
    }

    MUTEX_EXIT(&lf->mutex);
}
Esempio n. 2
0
void
VLockFileUnlock(struct VLockFile *lf, afs_uint32 offset)
{
    opr_mutex_enter(&lf->mutex);

    opr_Assert(lf->fd != INVALID_FD);

    if (--lf->refcount < 1) {
	_VCloseFd(lf->fd);
	lf->fd = INVALID_FD;
    } else {
	_VUnlockFd(lf->fd, offset);
    }

    opr_mutex_exit(&lf->mutex);
}
Esempio n. 3
0
void
VLockFileUnlock(struct VLockFile *lf, afs_uint32 offset)
{
    AFS_LF_LOCK(lf);

    assert(lf->fd != INVALID_FD);

    if (--lf->refcount < 1) {
	_VCloseFd(lf->fd);
	lf->fd = INVALID_FD;
    } else {
	_VUnlockFd(lf->fd, offset);
    }

    AFS_LF_UNLOCK(lf);
}