summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>2014-09-05 13:58:19 -0400
committerReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>2014-09-07 17:39:51 -0300
commit10ece74f10846563582be7a5ab6ffbf0ce5868c5 (patch)
treeb0527a07b277538c0583c1421113d124a48e7943
parent071f93c72ffea1453bc1d06114be479070a9017f (diff)
dvbsrc: retry opening the frontend on EINTRHEADmaster
-rw-r--r--sys/dvb/gstdvbsrc.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
index 0ea00641f..2ce42fda4 100644
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
@@ -1462,8 +1462,9 @@ gst_dvbsrc_open_frontend (GstDvbSrc * object, gboolean writable)
GST_INFO_OBJECT (object, "Using frontend device: %s", frontend_dev);
/* open frontend */
- if ((object->fd_frontend =
- open (frontend_dev, writable ? O_RDWR : O_RDONLY)) < 0) {
+ LOOP_WHILE_EINTR (object->fd_frontend,
+ open (frontend_dev, writable ? O_RDWR : O_RDONLY));
+ if (object->fd_frontend < 0) {
switch (errno) {
case ENOENT:
GST_ELEMENT_ERROR (object, RESOURCE, NOT_FOUND,