[PATCH 4/5] stream_pvr: fix bogus error message on device poll timeout
Reza Arbab <[email protected]>
| Newsgroups | gmane.comp.video.mplayer.devel |
|---|---|
| Message-ID | <[email protected]> |
The message being logged is invalid when poll returns 0. Signed-off-by: Reza Arbab <[email protected]> --- stream/stream_pvr.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/stream/stream_pvr.c b/stream/stream_pvr.c index e709e69..13c2f43 100644 --- a/stream/stream_pvr.c +++ b/stream/stream_pvr.c @@ -1633,9 +1633,13 @@ pvr_stream_read (stream_t *stream, char *buffer, int size) pfds[0].fd = fd; pfds[0].events = POLLIN | POLLPRI; - rk = size - pos; - - if (poll (pfds, 1, 500) <= 0) + rk = poll (pfds, 1, 500); + if (!rk) { + mp_msg (MSGT_OPEN, MSGL_ERR, + "%s 500ms timeout polling stream device\n", LOG_LEVEL_PVR); + break; + } + else if (rk < 0) { mp_msg (MSGT_OPEN, MSGL_ERR, "%s failed with errno %d when reading %d bytes\n", @@ -1643,7 +1647,7 @@ pvr_stream_read (stream_t *stream, char *buffer, int size) break; } - rk = read (fd, &buffer[pos], rk); + rk = read (fd, &buffer[pos], size-pos); if (rk > 0) { pos += rk; -- 2.5.0 _______________________________________________ MPlayer-dev-eng mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng