mirror of
https://github.com/samba-team/samba.git
synced 2025-03-12 20:58:37 +03:00
s3:blocking: do the timeout calculation before calling dbwrap_watched_watch_send()
This makes the next commits easier to understand. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14113 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
8da7c10a58
commit
997548a5f1
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user