diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/ntvfs/cifs/vfs_cifs.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source4/ntvfs/cifs/vfs_cifs.c b/source4/ntvfs/cifs/vfs_cifs.c index 2741e97d2d..9f3af57016 100644 --- a/source4/ntvfs/cifs/vfs_cifs.c +++ b/source4/ntvfs/cifs/vfs_cifs.c @@ -890,6 +890,7 @@ static NTSTATUS cvfs_notify(struct ntvfs_module_context *ntvfs, { struct cvfs_private *private = ntvfs->private_data; struct smbcli_request *c_req; + int saved_timeout = private->transport->options.request_timeout; SETUP_PID; @@ -897,9 +898,15 @@ static NTSTATUS cvfs_notify(struct ntvfs_module_context *ntvfs, if (!(req->async_states->state & NTVFS_ASYNC_STATE_MAY_ASYNC)) { return NT_STATUS_INVALID_PARAMETER; } - + + /* we must not timeout on notify requests - they wait + forever */ + private->transport->options.request_timeout = 0; + c_req = smb_raw_changenotify_send(private->tree, info); + private->transport->options.request_timeout = saved_timeout; + ASYNC_RECV_TAIL(info, async_changenotify); } |