Commit 22f98ac1 authored by Martin Storsjö's avatar Martin Storsjö

network: Check for EINTR in ff_poll_interrupt

Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent c194b9ad
...@@ -131,14 +131,17 @@ static int ff_poll_interrupt(struct pollfd *p, nfds_t nfds, int timeout, ...@@ -131,14 +131,17 @@ static int ff_poll_interrupt(struct pollfd *p, nfds_t nfds, int timeout,
if (ff_check_interrupt(cb)) if (ff_check_interrupt(cb))
return AVERROR_EXIT; return AVERROR_EXIT;
ret = poll(p, nfds, POLLING_TIME); ret = poll(p, nfds, POLLING_TIME);
if (ret != 0) if (ret != 0) {
if (ret < 0)
ret = ff_neterrno();
if (ret == AVERROR(EINTR))
continue;
break; break;
}
} while (timeout < 0 || runs-- > 0); } while (timeout < 0 || runs-- > 0);
if (!ret) if (!ret)
return AVERROR(ETIMEDOUT); return AVERROR(ETIMEDOUT);
if (ret < 0)
return ff_neterrno();
return ret; return ret;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment