summaryrefslogtreecommitdiff
path: root/dvbdevice.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2007-02-24 11:13:59 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2007-02-24 11:13:59 +0100
commit2da45a1be103a9de12565bee737d4292ea3fde10 (patch)
treecbc1d45977418748ee8ec1b510ee1b1c6638ba22 /dvbdevice.c
parent56e6593d790cf379c64d929409e8830b050ffcf7 (diff)
downloadvdr-2da45a1be103a9de12565bee737d4292ea3fde10.tar.gz
vdr-2da45a1be103a9de12565bee737d4292ea3fde10.tar.bz2
Fixed handling error status in cDvbTuner::GetFrontendStatus()1.4.5-2
Diffstat (limited to 'dvbdevice.c')
-rw-r--r--dvbdevice.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/dvbdevice.c b/dvbdevice.c
index fb8ec938..955483ea 100644
--- a/dvbdevice.c
+++ b/dvbdevice.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbdevice.c 1.160 2006/08/14 09:38:32 kls Exp $
+ * $Id: dvbdevice.c 1.160.1.1 2007/02/24 11:10:14 kls Exp $
*/
#include "dvbdevice.h"
@@ -157,15 +157,14 @@ bool cDvbTuner::GetFrontendStatus(fe_status_t &Status, int TimeoutMs)
; // just to clear the event queue - we'll read the actual status below
}
}
- do {
- int stat = ioctl(fd_frontend, FE_READ_STATUS, &Status);
- if (stat == 0)
- return true;
- if (stat < 0) {
- if (errno == EINTR)
+ while (1) {
+ int stat = ioctl(fd_frontend, FE_READ_STATUS, &Status);
+ if (stat == 0)
+ return true;
+ if (stat < 0 && errno == EINTR)
continue;
+ break;
}
- } while (0);
return false;
}