diff options
-rw-r--r-- | stream/tvi_v4l.c | 2 | ||||
-rw-r--r-- | stream/tvi_v4l2.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/stream/tvi_v4l.c b/stream/tvi_v4l.c index c21e13475e..ee1ae60c07 100644 --- a/stream/tvi_v4l.c +++ b/stream/tvi_v4l.c @@ -867,6 +867,8 @@ static void *vbi_grabber(void *data) while (!priv->vbi_shutdown){ bytes=read(priv->vbi_fd,buf,tsp.bufsize); + if(bytes<0 && errno==EINTR) + continue; if (bytes!=tsp.bufsize){ mp_msg(MSGT_TV,MSGL_WARN,"vbi: expecting bytes: %d, got: %d",tsp.bufsize,bytes); break; diff --git a/stream/tvi_v4l2.c b/stream/tvi_v4l2.c index e049d940dd..989d98f467 100644 --- a/stream/tvi_v4l2.c +++ b/stream/tvi_v4l2.c @@ -662,6 +662,8 @@ static void *vbi_grabber(void *data) while (!priv->vbi_shutdown){ bytes=read(priv->vbi_fd,buf,tsp.bufsize); + if(bytes<0 && errno==EINTR) + continue; if (bytes!=tsp.bufsize){ mp_msg(MSGT_TV,MSGL_WARN,"vbi: expecting bytes: %d, got: %d\n",tsp.bufsize,bytes); break; |