From: Daniel Stenberg Date: Wed, 11 Apr 2001 06:59:00 +0000 (+0000) Subject: oops, missed the shut-off non-blocking fix X-Git-Tag: upstream/7.37.1~16839 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=62056a644f712c47d56fa9ddcebda2539c4609a6;p=platform%2Fupstream%2Fcurl.git oops, missed the shut-off non-blocking fix --- diff --git a/lib/url.c b/lib/url.c index 7e771e7..0a01e54 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