summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libsmb/clifile.c8
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);
}