diff options
Diffstat (limited to 'source3/libsmb')
-rw-r--r-- | source3/libsmb/clifile.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c index 48a0636fec..1a67bcdd98 100644 --- a/source3/libsmb/clifile.c +++ b/source3/libsmb/clifile.c @@ -4945,6 +4945,7 @@ struct tevent_req *cli_notify_send(TALLOC_CTX *mem_ctx, { struct tevent_req *req, *subreq; struct cli_notify_state *state; + unsigned old_timeout; req = tevent_req_create(mem_ctx, &state, struct cli_notify_state); if (req == NULL) { @@ -4955,6 +4956,11 @@ struct tevent_req *cli_notify_send(TALLOC_CTX *mem_ctx, SSVAL(state->setup, 4, fnum); SSVAL(state->setup, 6, recursive); + /* + * Notifies should not time out + */ + old_timeout = cli_set_timeout(cli, 0); + subreq = cli_trans_send( state, /* mem ctx. */ ev, /* event ctx. */ @@ -4974,6 +4980,8 @@ struct tevent_req *cli_notify_send(TALLOC_CTX *mem_ctx, 0, /* num data. */ 0); /* max returned data. */ + cli_set_timeout(cli, old_timeout); + if (tevent_req_nomem(subreq, req)) { return tevent_req_post(req, ev); } |