Merge commit '22f98ac19cf29f22b3e1d10314df9503f06fe683'

* commit '22f98ac19cf29f22b3e1d10314df9503f06fe683':
  network: Check for EINTR in ff_poll_interrupt

Merged-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer 2018-09-11 13:17:38 -03:00
commit 03210fe138
1 changed files with 6 additions and 3 deletions

View 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;
}