]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/network.c
Merge commit '22f98ac19cf29f22b3e1d10314df9503f06fe683'
[ffmpeg] / libavformat / network.c
index 4bae7e2e446367a5009f7ba5c98aae8233a7e624..c97e59d62049b001eb36a09e2c129adb242374f6 100644 (file)
@@ -165,14 +165,17 @@ static int ff_poll_interrupt(struct pollfd *p, nfds_t nfds, int timeout,
         if (ff_check_interrupt(cb))
             return AVERROR_EXIT;
         ret = poll(p, nfds, POLLING_TIME);
-        if (ret != 0)
+        if (ret != 0) {
+            if (ret < 0)
+                ret = ff_neterrno();
+            if (ret == AVERROR(EINTR))
+                continue;
             break;
+        }
     } while (timeout <= 0 || runs-- > 0);
 
     if (!ret)
         return AVERROR(ETIMEDOUT);
-    if (ret < 0)
-        return ff_neterrno();
     return ret;
 }