diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2012-01-16 12:43:33 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2012-01-16 12:43:33 +0100 |
commit | 41f185b000d17b3b6ffddbe8e0a738869a92260f (patch) | |
tree | eb79337a72ccc9eda6ae144167031acc3f2f3ef7 /dvbdevice.c | |
parent | 98a443cc61a02261fcbdad945a8c6c664e279d50 (diff) | |
download | vdr-41f185b000d17b3b6ffddbe8e0a738869a92260f.tar.gz vdr-41f185b000d17b3b6ffddbe8e0a738869a92260f.tar.bz2 |
Fixed a high load in case a transponder can't be received
Diffstat (limited to 'dvbdevice.c')
-rw-r--r-- | dvbdevice.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/dvbdevice.c b/dvbdevice.c index 39153970..fa7306b1 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 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" @@ -857,6 +857,7 @@ void cDvbTuner::Action(void) if (GetFrontendStatus(NewStatus)) Status = NewStatus; cMutexLock MutexLock(&mutex); + int WaitTime = 1000; switch (tunerStatus) { case tsIdle: break; @@ -877,6 +878,7 @@ void cDvbTuner::Action(void) bondedMasterFailed = true; // give an other tuner a chance in case the sat cable was disconnected continue; } + WaitTime = 100; // allows for a quick change from tsTuned to tsLocked case tsLocked: if (Status & FE_REINIT) { tunerStatus = tsSet; @@ -905,9 +907,7 @@ void cDvbTuner::Action(void) break; default: esyslog("ERROR: unknown tuner status %d", tunerStatus); } - - if (tunerStatus != tsTuned) - newSet.TimedWait(mutex, 1000); + newSet.TimedWait(mutex, WaitTime); } } |