mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed handling error status in cDvbTuner::GetFrontendStatus()
This commit is contained in:
parent
328d8b6494
commit
50b14be807
@ -1117,6 +1117,7 @@ Reinhard Nissl <rnissl@gmx.de>
|
|||||||
for fixing a possible crash in remux.c on 64-bit machines
|
for fixing a possible crash in remux.c on 64-bit machines
|
||||||
for making cCommand::Execute() use cPipe instead of popen() to avoid problems
|
for making cCommand::Execute() use cPipe instead of popen() to avoid problems
|
||||||
with open file handles when starting background commands
|
with open file handles when starting background commands
|
||||||
|
for fixing handling error status in cDvbTuner::GetFrontendStatus()
|
||||||
|
|
||||||
Richard Robson <richard_robson@beeb.net>
|
Richard Robson <richard_robson@beeb.net>
|
||||||
for reporting freezing replay if a timer starts while in Transfer Mode from the
|
for reporting freezing replay if a timer starts while in Transfer Mode from the
|
||||||
|
4
HISTORY
4
HISTORY
@ -5091,11 +5091,13 @@ Video Disk Recorder Revision History
|
|||||||
with open file handles when starting background commands (thanks to Reinhard
|
with open file handles when starting background commands (thanks to Reinhard
|
||||||
Nissl).
|
Nissl).
|
||||||
|
|
||||||
2007-02-17: Version 1.4.5-2
|
2007-02-24: Version 1.4.5-2
|
||||||
|
|
||||||
- Removed 'assert(0)' from cDvbSpuDecoder::setTime() (thanks to Marco Schlüßler).
|
- Removed 'assert(0)' from cDvbSpuDecoder::setTime() (thanks to Marco Schlüßler).
|
||||||
- Fixed a possible crash when loading an invalid XPM file (thanks to Martin Wache).
|
- Fixed a possible crash when loading an invalid XPM file (thanks to Martin Wache).
|
||||||
- Updated satellite names in 'sources.conf' (thanks to Thilo Wunderlich).
|
- Updated satellite names in 'sources.conf' (thanks to Thilo Wunderlich).
|
||||||
|
- Fixed handling error status in cDvbTuner::GetFrontendStatus() (thanks to
|
||||||
|
Reinhard Nissl).
|
||||||
|
|
||||||
2007-02-03: Version 1.5.1
|
2007-02-03: Version 1.5.1
|
||||||
|
|
||||||
|
16
dvbdevice.c
16
dvbdevice.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: dvbdevice.c 1.162 2007/01/13 11:37:00 kls Exp $
|
* $Id: dvbdevice.c 1.163 2007/02/24 11:20:42 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbdevice.h"
|
#include "dvbdevice.h"
|
||||||
@ -155,15 +155,13 @@ bool cDvbTuner::GetFrontendStatus(fe_status_t &Status, int TimeoutMs)
|
|||||||
; // just to clear the event queue - we'll read the actual status below
|
; // just to clear the event queue - we'll read the actual status below
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
do {
|
while (1) {
|
||||||
int stat = ioctl(fd_frontend, FE_READ_STATUS, &Status);
|
int stat = ioctl(fd_frontend, FE_READ_STATUS, &Status);
|
||||||
if (stat == 0)
|
if (stat == 0)
|
||||||
return true;
|
return true;
|
||||||
if (stat < 0) {
|
if (stat > 0 || errno != EINTR)
|
||||||
if (errno == EINTR)
|
break;
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
} while (0);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user