diff --git a/src/stub.c b/src/stub.c index c09e98ed..3e44730e 100644 --- a/src/stub.c +++ b/src/stub.c @@ -390,12 +390,16 @@ tcp_connect(getdns_upstream *upstream, getdns_transport_list_t transport) } return fd; #endif + printf("fd: %d\n",fd); if (connect(fd, (struct sockaddr *)&upstream->addr, upstream->addr_len) == -1) { - if (errno != EINPROGRESS) { - close(fd); - return -1; - } +#if USE_WINSOCK + printf("WSAGetLastError(): %d\n", WSAGetLastError()); +#endif + if (_getdns_EINPROGRESS || _getdns_EWOULDBLOCK) + return fd; + close(fd); + return -1; } return fd; }