Jacek Caban : rpcrt4: Added prepare_async_request helper.

Alexandre Julliard julliard at winehq.org
Tue Aug 14 12:59:54 CDT 2012


Module: wine
Branch: master
Commit: cba1cfc645bd605ed06422f630211cd8de4b0fd7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=cba1cfc645bd605ed06422f630211cd8de4b0fd7

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Aug 14 13:35:06 2012 +0200

rpcrt4: Added prepare_async_request helper.

---

 dlls/rpcrt4/rpc_transport.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/dlls/rpcrt4/rpc_transport.c b/dlls/rpcrt4/rpc_transport.c
index f873f71..501e5cc 100644
--- a/dlls/rpcrt4/rpc_transport.c
+++ b/dlls/rpcrt4/rpc_transport.c
@@ -1870,6 +1870,12 @@ static ULONG RpcHttpAsyncData_Release(RpcHttpAsyncData *data)
     return refs;
 }
 
+static void prepare_async_request(RpcHttpAsyncData *async_data)
+{
+    ResetEvent(async_data->completion_event);
+    RpcHttpAsyncData_AddRef(async_data);
+}
+
 typedef struct _RpcConnection_http
 {
     RpcConnection common;
@@ -2165,8 +2171,7 @@ static RPC_STATUS rpcrt4_http_prepare_in_pipe(HINTERNET in_request, RpcHttpAsync
     DWORD bytes_read, bytes_written;
 
     /* prepare in pipe */
-    ResetEvent(async_data->completion_event);
-    RpcHttpAsyncData_AddRef(async_data);
+    prepare_async_request(async_data);
     ret = HttpSendRequestW(in_request, NULL, 0, NULL, 0);
     if (!ret)
     {
@@ -2189,8 +2194,7 @@ static RPC_STATUS rpcrt4_http_prepare_in_pipe(HINTERNET in_request, RpcHttpAsync
     buffers_in.dwStructSize = sizeof(buffers_in);
     /* FIXME: get this from the registry */
     buffers_in.dwBufferTotal = 1024 * 1024 * 1024; /* 1Gb */
-    ResetEvent(async_data->completion_event);
-    RpcHttpAsyncData_AddRef(async_data);
+    prepare_async_request(async_data);
     ret = HttpSendRequestExW(in_request, &buffers_in, NULL, 0, 0);
     if (!ret)
     {
@@ -2279,8 +2283,7 @@ static RPC_STATUS rpcrt4_http_prepare_out_pipe(HINTERNET out_request,
     RpcPktHdr pkt_from_server;
     ULONG field1, field3;
 
-    ResetEvent(async_data->completion_event);
-    RpcHttpAsyncData_AddRef(async_data);
+    prepare_async_request(async_data);
     ret = HttpSendRequestW(out_request, NULL, 0, NULL, 0);
     if (!ret)
     {
@@ -2301,8 +2304,8 @@ static RPC_STATUS rpcrt4_http_prepare_out_pipe(HINTERNET out_request,
 
     hdr = RPCRT4_BuildHttpConnectHeader(0, TRUE, connection_uuid, out_pipe_uuid, NULL);
     if (!hdr) return RPC_S_OUT_OF_RESOURCES;
-    ResetEvent(async_data->completion_event);
-    RpcHttpAsyncData_AddRef(async_data);
+
+    prepare_async_request(async_data);
     ret = HttpSendRequestW(out_request, NULL, 0, hdr, hdr->common.frag_len);
     if (!ret)
     {




More information about the wine-cvs mailing list