EWOULDBLOCK may be used instead of EAGAIN for read, recv and accept
authorRémi Denis-Courmont <rdenis@simphalempin.com>
Sat, 3 Jan 2009 20:59:33 +0000 (22:59 +0200)
committerRémi Denis-Courmont <rdenis@simphalempin.com>
Sat, 3 Jan 2009 21:00:11 +0000 (23:00 +0200)
src/network/io.c
src/network/tcp.c

index 3a39de0..2c1c80e 100644 (file)
@@ -379,6 +379,9 @@ __net_Read (vlc_object_t *restrict p_this, int fd, const v_socket_t *vs,
             switch (errno)
             {
                 case EAGAIN: /* spurious wakeup or no TLS data */
+#if (EAGAIN != EWOULDBLOCK)
+                case EWOULDBLOCK:
+#endif
                 case EINTR:  /* asynchronous signal */
                     continue;
             }
index 814808d..4f9fa36 100644 (file)
@@ -52,6 +52,8 @@
 #if defined (WIN32) || defined (UNDER_CE)
 #   undef EINPROGRESS
 #   define EINPROGRESS WSAEWOULDBLOCK
+#   undef EWOULDBLOCK
+#   define EWOULDBLOCK WSAEWOULDBLOCK
 #   undef EINTR
 #   define EINTR WSAEINTR
 #   undef ETIMEDOUT
@@ -258,7 +260,7 @@ int net_AcceptSingle (vlc_object_t *obj, int lfd)
 
     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;
     }