mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Fixed a high load in case a transponder can't be received
This commit is contained in:
parent
98a443cc61
commit
41f185b000
1
HISTORY
1
HISTORY
@ -6842,3 +6842,4 @@ Video Disk Recorder Revision History
|
|||||||
- Revoked "Fixed handling symbolic links in cRecordings::ScanVideoDir()".
|
- Revoked "Fixed handling symbolic links in cRecordings::ScanVideoDir()".
|
||||||
This change actually broke handling symbolic links (see
|
This change actually broke handling symbolic links (see
|
||||||
http://www.vdr-portal.de/board1-news/board2-vdr-news/p1047199-announce-vdr-developer-version-1-7-23/#post1047199).
|
http://www.vdr-portal.de/board1-news/board2-vdr-news/p1047199-announce-vdr-developer-version-1-7-23/#post1047199).
|
||||||
|
- Fixed a high load in case a transponder can't be received.
|
||||||
|
@ -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 2.56 2012/01/15 14:31:47 kls Exp $
|
* $Id: dvbdevice.c 2.57 2012/01/16 12:43:33 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "dvbdevice.h"
|
#include "dvbdevice.h"
|
||||||
@ -857,6 +857,7 @@ void cDvbTuner::Action(void)
|
|||||||
if (GetFrontendStatus(NewStatus))
|
if (GetFrontendStatus(NewStatus))
|
||||||
Status = NewStatus;
|
Status = NewStatus;
|
||||||
cMutexLock MutexLock(&mutex);
|
cMutexLock MutexLock(&mutex);
|
||||||
|
int WaitTime = 1000;
|
||||||
switch (tunerStatus) {
|
switch (tunerStatus) {
|
||||||
case tsIdle:
|
case tsIdle:
|
||||||
break;
|
break;
|
||||||
@ -877,6 +878,7 @@ void cDvbTuner::Action(void)
|
|||||||
bondedMasterFailed = true; // give an other tuner a chance in case the sat cable was disconnected
|
bondedMasterFailed = true; // give an other tuner a chance in case the sat cable was disconnected
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
WaitTime = 100; // allows for a quick change from tsTuned to tsLocked
|
||||||
case tsLocked:
|
case tsLocked:
|
||||||
if (Status & FE_REINIT) {
|
if (Status & FE_REINIT) {
|
||||||
tunerStatus = tsSet;
|
tunerStatus = tsSet;
|
||||||
@ -905,9 +907,7 @@ void cDvbTuner::Action(void)
|
|||||||
break;
|
break;
|
||||||
default: esyslog("ERROR: unknown tuner status %d", tunerStatus);
|
default: esyslog("ERROR: unknown tuner status %d", tunerStatus);
|
||||||
}
|
}
|
||||||
|
newSet.TimedWait(mutex, WaitTime);
|
||||||
if (tunerStatus != tsTuned)
|
|
||||||
newSet.TimedWait(mutex, 1000);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user