summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/blocking.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/source3/smbd/blocking.c b/source3/smbd/blocking.c
index 98074c0c09a..ac90f8c3ef1 100644
--- a/source3/smbd/blocking.c
+++ b/source3/smbd/blocking.c
@@ -308,14 +308,6 @@ struct tevent_req *smbd_smb1_do_locks_send(
}
state->deny_status = NT_STATUS_FILE_LOCK_CONFLICT;
- subreq = dbwrap_watched_watch_send(
- state, state->ev, lck->data->record, blocking_pid);
- if (tevent_req_nomem(subreq, req)) {
- goto done;
- }
- TALLOC_FREE(lck);
- tevent_req_set_callback(subreq, smbd_smb1_do_locks_retry, req);
-
endtime = state->endtime;
if (blocking_smblctx == UINT64_MAX) {
@@ -330,6 +322,14 @@ struct tevent_req *smbd_smb1_do_locks_send(
endtime = timeval_min(&endtime, &tmp);
}
+ subreq = dbwrap_watched_watch_send(
+ state, state->ev, lck->data->record, blocking_pid);
+ if (tevent_req_nomem(subreq, req)) {
+ goto done;
+ }
+ TALLOC_FREE(lck);
+ tevent_req_set_callback(subreq, smbd_smb1_do_locks_retry, req);
+
ok = tevent_req_set_endtime(subreq, state->ev, endtime);
if (!ok) {
tevent_req_oom(req);
@@ -450,14 +450,6 @@ static void smbd_smb1_do_locks_try(struct tevent_req *req)
}
state->deny_status = NT_STATUS_FILE_LOCK_CONFLICT;
- subreq = dbwrap_watched_watch_send(
- state, state->ev, lck->data->record, blocking_pid);
- if (tevent_req_nomem(subreq, req)) {
- goto done;
- }
- TALLOC_FREE(lck);
- tevent_req_set_callback(subreq, smbd_smb1_do_locks_retry, req);
-
endtime = state->endtime;
if (blocking_smblctx == UINT64_MAX) {
@@ -472,6 +464,14 @@ static void smbd_smb1_do_locks_try(struct tevent_req *req)
endtime = timeval_min(&endtime, &tmp);
}
+ subreq = dbwrap_watched_watch_send(
+ state, state->ev, lck->data->record, blocking_pid);
+ if (tevent_req_nomem(subreq, req)) {
+ goto done;
+ }
+ TALLOC_FREE(lck);
+ tevent_req_set_callback(subreq, smbd_smb1_do_locks_retry, req);
+
ok = tevent_req_set_endtime(subreq, state->ev, endtime);
if (!ok) {
status = NT_STATUS_NO_MEMORY;