int cmd = AFS_SETLKW;
struct afs_st_flock sf;
+ opr_Assert(fd >= 0);
+
if (locktype == READ_LOCK) {
l_type = F_RDLCK;
}
opr_mutex_enter(&lf->mutex);
if (lf->fd == INVALID_FD) {
+ opr_Assert(lf->refcount == 0);
lf->fd = _VOpenPath(lf->path);
if (lf->fd == INVALID_FD) {
opr_mutex_exit(&lf->mutex);
lf->refcount++;
+ opr_Assert(lf->refcount > 0);
+
opr_mutex_exit(&lf->mutex);
code = _VLockFd(lf->fd, offset, locktype, nonblock);
if (code) {
opr_mutex_enter(&lf->mutex);
+ opr_Assert(lf->refcount > 0);
if (--lf->refcount < 1) {
_VCloseFd(lf->fd);
lf->fd = INVALID_FD;
opr_mutex_enter(&lf->mutex);
opr_Assert(lf->fd != INVALID_FD);
+ opr_Assert(lf->refcount > 0);
if (--lf->refcount < 1) {
_VCloseFd(lf->fd);