Fix connect on win32
authorAlexander Larsson <alexl@redhat.com>
Wed, 20 May 2009 14:28:20 +0000 (16:28 +0200)
committerAlexander Larsson <alexl@redhat.com>
Wed, 20 May 2009 14:40:55 +0000 (16:40 +0200)
We should not wait before calling connect for non-blocking connect.
Also, use the right error code for the nonblocking pending case on win32.

gio/gsocket.c

index 03f5375..a10a92b 100644 (file)
@@ -1418,11 +1418,6 @@ g_socket_connect (GSocket         *socket,
 
   while (1)
     {
-      if (socket->priv->blocking &&
-         !g_socket_condition_wait (socket,
-                                   G_IO_IN, NULL, error))
-       return FALSE;
-
       if (connect (socket->priv->fd, (struct sockaddr *) &buffer,
                   g_socket_address_get_native_size (address)) < 0)
        {
@@ -1434,7 +1429,7 @@ g_socket_connect (GSocket         *socket,
 #ifndef G_OS_WIN32
          if (errsv == EINPROGRESS)
 #else
-         if (errsv == WSAEINPROGRESS)
+         if (errsv == WSAEWOULDBLOCK)
 #endif
            {
              if (socket->priv->blocking)