#if defined (WIN32) || defined (UNDER_CE)
# undef EINPROGRESS
# define EINPROGRESS WSAEWOULDBLOCK
+# undef EWOULDBLOCK
+# define EWOULDBLOCK WSAEWOULDBLOCK
# undef EINTR
# define EINTR WSAEINTR
# undef ETIMEDOUT
if (fd == -1)
{
- if (net_errno != EAGAIN)
+ if (net_errno != EAGAIN && net_errno != EWOULDBLOCK)
msg_Err (obj, "accept failed (from socket %d): %m", lfd);
return -1;
}
ufd[i].events = POLLIN;
ufd[i].revents = 0;
}
- if (evfd == -1)
- n--; /* avoid EBADF */
- switch (poll (ufd, n, timeout))
+ switch (poll (ufd, n + (evfd != -1), timeout))
{
case -1:
if (net_errno == EINTR)
if( buffer[1] != 0x00 )
{
- msg_Err( p_obj, "socks: CONNECT request failed\n" );
+ msg_Err( p_obj, "socks: CONNECT request failed" );
return VLC_EGENERIC;
}