diff udp.c @ 5896:395592984ef0 libavformat

Don't report EINTR from select as an error, retry select instead
author mstorsjo
date Fri, 26 Mar 2010 16:04:38 +0000
parents d605f589f0be
children 178de7695c6c
line wrap: on
line diff
--- a/udp.c	Fri Mar 26 01:12:14 2010 +0000
+++ b/udp.c	Fri Mar 26 16:04:38 2010 +0000
@@ -437,8 +437,11 @@
         tv.tv_sec = 0;
         tv.tv_usec = 100 * 1000;
         ret = select(s->udp_fd + 1, &rfds, NULL, NULL, &tv);
-        if (ret < 0)
+        if (ret < 0) {
+            if (ff_neterrno() == FF_NETERROR(EINTR))
+                continue;
             return AVERROR(EIO);
+        }
         if (!(ret > 0 && FD_ISSET(s->udp_fd, &rfds)))
             continue;
         len = recv(s->udp_fd, buf, size, 0);