We should not wait before calling connect for non-blocking connect.
Also, use the right error code for the nonblocking pending case on win32.
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)
{
#ifndef G_OS_WIN32
if (errsv == EINPROGRESS)
#else
- if (errsv == WSAEINPROGRESS)
+ if (errsv == WSAEWOULDBLOCK)
#endif
{
if (socket->priv->blocking)