summaryrefslogtreecommitdiffstats
path: root/net/socket/tcp_client_socket_win.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket/tcp_client_socket_win.cc')
-rw-r--r--net/socket/tcp_client_socket_win.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/net/socket/tcp_client_socket_win.cc b/net/socket/tcp_client_socket_win.cc
index aa0e68c..de3cac6 100644
--- a/net/socket/tcp_client_socket_win.cc
+++ b/net/socket/tcp_client_socket_win.cc
@@ -76,6 +76,15 @@ int MapWinsockError(DWORD err) {
}
}
+int MapConnectError(DWORD err) {
+ switch (err) {
+ case WSAETIMEDOUT:
+ return ERR_CONNECTION_TIMED_OUT;
+ default:
+ return MapWinsockError(err);
+ }
+}
+
} // namespace
//-----------------------------------------------------------------------------
@@ -270,7 +279,7 @@ int TCPClientSocketWin::Connect(CompletionCallback* callback) {
DWORD err = WSAGetLastError();
if (err != WSAEWOULDBLOCK) {
LOG(ERROR) << "connect failed: " << err;
- return MapWinsockError(err);
+ return MapConnectError(err);
}
}
@@ -539,7 +548,7 @@ void TCPClientSocketWin::DidCompleteConnect() {
current_ai_ = next;
result = Connect(read_callback_);
} else {
- result = MapWinsockError(error_code);
+ result = MapConnectError(error_code);
}
} else {
NOTREACHED();