|
|
@ -337,8 +337,9 @@ bool static ConnectSocketDirectly(const CService &addrConnect, SOCKET& hSocketRe
|
|
|
|
|
|
|
|
|
|
|
|
if (connect(hSocket, (struct sockaddr*)&sockaddr, len) == SOCKET_ERROR)
|
|
|
|
if (connect(hSocket, (struct sockaddr*)&sockaddr, len) == SOCKET_ERROR)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
int nErr = WSAGetLastError();
|
|
|
|
// WSAEINVAL is here because some legacy version of winsock uses it
|
|
|
|
// WSAEINVAL is here because some legacy version of winsock uses it
|
|
|
|
if (WSAGetLastError() == WSAEINPROGRESS || WSAGetLastError() == WSAEWOULDBLOCK || WSAGetLastError() == WSAEINVAL)
|
|
|
|
if (nErr == WSAEINPROGRESS || nErr == WSAEWOULDBLOCK || nErr == WSAEINVAL)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
struct timeval timeout;
|
|
|
|
struct timeval timeout;
|
|
|
|
timeout.tv_sec = nTimeout / 1000;
|
|
|
|
timeout.tv_sec = nTimeout / 1000;
|
|
|
|