From 992c2bd3e5e3383fe2f39d585fcc1c666a9b7773 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ri=C4=8Dardas=20Barkauskas?= Date: Tue, 26 Nov 2013 01:12:34 +0200 Subject: [PATCH] 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 52b64f8203d..bca11018b8a 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 3bad0e37168..4793bc6d593 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); -- 2.11.4.GIT