Mercurial > libavformat.hg
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);