oops, missed the shut-off non-blocking fix
authorDaniel Stenberg <daniel@haxx.se>
Wed, 11 Apr 2001 06:59:00 +0000 (06:59 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 11 Apr 2001 06:59:00 +0000 (06:59 +0000)
lib/url.c

index 7e771e7..0a01e54 100644 (file)
--- 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