{
struct timeval tv_curr = timeval_current();
struct blocking_lock_record *blr, *next = NULL;
- bool recalc_timeout = False;
/*
* Go through the queue and see if we can get any of the locks.
DEBUG(10, ("Processing BLR = %p\n", blr));
+ /* We use set_current_service so connections with
+ * pending locks are not marked as idle.
+ */
+
+ set_current_service(blr->fsp->conn,
+ SVAL(blr->req->inbuf,smb_flg),
+ false);
+
if(blocking_lock_record_process(blr)) {
struct byte_range_lock *br_lck = brl_get_locks(
talloc_tos(), blr->fsp);
DLIST_REMOVE(blocking_lock_queue, blr);
TALLOC_FREE(blr);
- recalc_timeout = True;
continue;
}
blocking_lock_reply_error(blr,NT_STATUS_FILE_LOCK_CONFLICT);
DLIST_REMOVE(blocking_lock_queue, blr);
TALLOC_FREE(blr);
- recalc_timeout = True;
}
}
- if (recalc_timeout) {
- recalc_brl_timeout();
- }
+ recalc_brl_timeout();
}
/****************************************************************************