summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-06-09 22:34:14 +0200
committerStefan Metzmacher <metze@samba.org>2009-06-24 21:04:57 +0200
commitb7ea2740d5b04ab312c8052ef71429f2a43007aa (patch)
tree4dc9c2fb126a599795050a397e980f91e146b7ec
parent3b25d868eef517261ff111743affe75d8199040d (diff)
downloadsamba-b7ea2740d5b04ab312c8052ef71429f2a43007aa.tar.gz
samba-b7ea2740d5b04ab312c8052ef71429f2a43007aa.tar.bz2
samba-b7ea2740d5b04ab312c8052ef71429f2a43007aa.zip
s3:smbd: send SMB2 interim responses for async calls
metze
-rw-r--r--source3/smbd/smb2_create.c5
-rw-r--r--source3/smbd/smb2_flush.c5
-rw-r--r--source3/smbd/smb2_ioctl.c5
-rw-r--r--source3/smbd/smb2_read.c5
-rw-r--r--source3/smbd/smb2_write.c5
5 files changed, 25 insertions, 0 deletions
diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c
index 0e3cd164cd..578dfa7c3b 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -123,6 +123,11 @@ NTSTATUS smbd_smb2_request_process_create(struct smbd_smb2_request *req)
return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_create_done, req);
+
+ if (tevent_req_is_in_progress(subreq)) {
+ return smbd_smb2_request_pending_queue(req);
+ }
+
return NT_STATUS_OK;
}
diff --git a/source3/smbd/smb2_flush.c b/source3/smbd/smb2_flush.c
index ce560a1362..8ce683923b 100644
--- a/source3/smbd/smb2_flush.c
+++ b/source3/smbd/smb2_flush.c
@@ -69,6 +69,11 @@ NTSTATUS smbd_smb2_request_process_flush(struct smbd_smb2_request *req)
return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_flush_done, req);
+
+ if (tevent_req_is_in_progress(subreq)) {
+ return smbd_smb2_request_pending_queue(req);
+ }
+
return NT_STATUS_OK;
}
diff --git a/source3/smbd/smb2_ioctl.c b/source3/smbd/smb2_ioctl.c
index a1f2885668..85da92e6c0 100644
--- a/source3/smbd/smb2_ioctl.c
+++ b/source3/smbd/smb2_ioctl.c
@@ -104,6 +104,11 @@ NTSTATUS smbd_smb2_request_process_ioctl(struct smbd_smb2_request *req)
return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_ioctl_done, req);
+
+ if (tevent_req_is_in_progress(subreq)) {
+ return smbd_smb2_request_pending_queue(req);
+ }
+
return NT_STATUS_OK;
}
diff --git a/source3/smbd/smb2_read.c b/source3/smbd/smb2_read.c
index 5890ca6c42..c9f281f73e 100644
--- a/source3/smbd/smb2_read.c
+++ b/source3/smbd/smb2_read.c
@@ -100,6 +100,11 @@ NTSTATUS smbd_smb2_request_process_read(struct smbd_smb2_request *req)
return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_read_done, req);
+
+ if (tevent_req_is_in_progress(subreq)) {
+ return smbd_smb2_request_pending_queue(req);
+ }
+
return NT_STATUS_OK;
}
diff --git a/source3/smbd/smb2_write.c b/source3/smbd/smb2_write.c
index ccfe3b3434..31460a01a1 100644
--- a/source3/smbd/smb2_write.c
+++ b/source3/smbd/smb2_write.c
@@ -108,6 +108,11 @@ NTSTATUS smbd_smb2_request_process_write(struct smbd_smb2_request *req)
return smbd_smb2_request_error(req, NT_STATUS_NO_MEMORY);
}
tevent_req_set_callback(subreq, smbd_smb2_request_write_done, req);
+
+ if (tevent_req_is_in_progress(subreq)) {
+ return smbd_smb2_request_pending_queue(req);
+ }
+
return NT_STATUS_OK;
}