=?UTF-8?Q?Ri=C4=8Dardas=20Barkauskas=20?=: wininet: Reset data stream for existing request connections.

Alexandre Julliard julliard at winehq.org
Tue Nov 26 15:51:43 CST 2013


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

Author: Ričardas Barkauskas <rbarkauskas at codeweavers.com>
Date:   Tue Nov 26 01:12:34 2013 +0200

wininet: Reset data stream for existing request connections.

---

 dlls/wininet/http.c       |   13 ++++++++++---
 dlls/wininet/tests/http.c |    2 +-
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index 52b64f8..bca1101 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -4936,10 +4936,17 @@ static DWORD HTTP_HttpSendRequestW(http_request_t *request, LPCWSTR lpszHeaders,
 
         loop_next = FALSE;
 
-        if (request->netconn && !NETCON_is_alive(request->netconn))
+        if (request->netconn)
         {
-            free_netconn(request->netconn);
-            request->netconn = NULL;
+            if (!NETCON_is_alive(request->netconn))
+            {
+                free_netconn(request->netconn);
+                request->netconn = NULL;
+            }
+            else
+            {
+                reset_data_stream(request);
+            }
         }
         reusing_connection = request->netconn != NULL;
 
diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c
index 3bad0e3..4793bc6 100644
--- a/dlls/wininet/tests/http.c
+++ b/dlls/wininet/tests/http.c
@@ -3019,7 +3019,7 @@ static void test_successive_HttpSendRequest(int port)
     CLEAR_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED);
     CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE);
 
-    test_status_code_todo(req, 200);
+    test_status_code(req, 200);
 
     SET_WINE_ALLOW(INTERNET_STATUS_CLOSING_CONNECTION);
     SET_WINE_ALLOW(INTERNET_STATUS_CONNECTION_CLOSED);




More information about the wine-cvs mailing list