From 62056a644f712c47d56fa9ddcebda2539c4609a6 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 11 Apr 2001 06:59:00 +0000 Subject: oops, missed the shut-off non-blocking fix --- lib/url.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'lib') diff --git a/lib/url.c b/lib/url.c index 7e771e75f..0a01e54d2 100644 --- a/lib/url.c +++ b/lib/url.c @@ -1232,7 +1232,7 @@ static CURLcode ConnectPlease(struct UrlData *data, FD_ZERO (&connectfd); FD_SET(conn->firstsocket, &connectfd); if (conn->data->connecttimeout > 0) { - nonblock = 1; + nonblock = 1; } ioctlsocket(conn->firstsocket, FIONBIO, &nonblock); #endif @@ -1241,14 +1241,18 @@ static CURLcode ConnectPlease(struct UrlData *data, sizeof(conn->serv_addr) ) < 0) { #if defined(WIN32) - conntimeout.tv_sec = conn->data->connecttimeout; - conntimeout.tv_usec = 0; - if(-1 != select (conn->firstsocket + 1, NULL, &connectfd, NULL, &conntimeout)) { - if (FD_ISSET(conn->firstsocket, &connectfd)) - return CURLE_OK; - else - errno = EINTR; - } + conntimeout.tv_sec = conn->data->connecttimeout; + conntimeout.tv_usec = 0; + if(-1 != select (conn->firstsocket + 1, NULL, &connectfd, NULL, &conntimeout)) { + if (FD_ISSET(conn->firstsocket, &connectfd)) { + /* shut off non-blocking again */ + nonblock = 0; + ioctlsocket(conn->firstsocket, FIONBIO, &nonblock); + return CURLE_OK; + } + else + errno = EINTR; + } #endif switch(errno) { #ifdef ECONNREFUSED -- cgit v1.2.3