linuxdvb: fix file processing to ensure data is passed and efficiently

This commit is contained in:
Adam Sutton 2014-04-12 00:11:38 +01:00
parent cf9470473b
commit 847981890b

View file

@ -657,12 +657,12 @@ linuxdvb_frontend_input_thread ( void *aux )
/* Read */
while (tvheadend_running) {
nfds = tvhpoll_wait(efd, ev, 1, 10);
nfds = tvhpoll_wait(efd, ev, 1, -1);
if (nfds < 1) continue;
if (ev[0].data.fd != dvr) break;
/* Read */
if (sbuf_read(&sb, dvr)) {
if (sbuf_read(&sb, dvr) < 0) {
if ((errno == EAGAIN) || (errno == EINTR))
continue;
if (errno == EOVERFLOW) {