From f643bc141744031f1e3b304f753dd3837e6600eb Mon Sep 17 00:00:00 2001 From: "wtc@google.com" Date: Fri, 16 Jan 2009 02:46:33 +0000 Subject: If connect succeeds synchronously, the event object is also signaled, so we need to reset the event object. Otherwise, the event object will be left in the wrong state when we write the request headers. Remove the unnecessary forward declaration of HostResolver. R=eroman BUG=6331 Review URL: http://codereview.chromium.org/18119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8163 0039d316-1c4b-4281-b951-d872f2087c98 --- net/base/tcp_client_socket_win.cc | 5 ++++- net/http/http_network_transaction.h | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/net/base/tcp_client_socket_win.cc b/net/base/tcp_client_socket_win.cc index 1111d71..dff0391b 100644 --- a/net/base/tcp_client_socket_win.cc +++ b/net/base/tcp_client_socket_win.cc @@ -87,8 +87,11 @@ int TCPClientSocket::Connect(CompletionCallback* callback) { WSAEventSelect(socket_, overlapped_.hEvent, FD_CONNECT); if (!connect(socket_, ai->ai_addr, static_cast(ai->ai_addrlen))) { - TRACE_EVENT_END("socket.connect", this, ""); // Connected without waiting! + CHECK(WaitForSingleObject(overlapped_.hEvent, 0) == WAIT_OBJECT_0); + BOOL ok = WSAResetEvent(overlapped_.hEvent); + CHECK(ok); + TRACE_EVENT_END("socket.connect", this, ""); return OK; } diff --git a/net/http/http_network_transaction.h b/net/http/http_network_transaction.h index 9ac684f..487ddd3 100644 --- a/net/http/http_network_transaction.h +++ b/net/http/http_network_transaction.h @@ -21,7 +21,6 @@ namespace net { class ClientSocketFactory; -class HostResolver; class HttpChunkedDecoder; class HttpNetworkSession; class UploadDataStream; -- cgit v1.1