summaryrefslogtreecommitdiff
path: root/dvbdevice.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2012-01-16 12:43:33 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2012-01-16 12:43:33 +0100
commit41f185b000d17b3b6ffddbe8e0a738869a92260f (patch)
treeeb79337a72ccc9eda6ae144167031acc3f2f3ef7 /dvbdevice.c
parent98a443cc61a02261fcbdad945a8c6c664e279d50 (diff)
downloadvdr-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.c8
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);
}
}