diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2013-03-13 11:23:53 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2013-03-13 11:23:53 +0100 |
commit | 1b61b7f5bc50f95872326eb81293297a60083567 (patch) | |
tree | 41ce668c79fd660130a713020cdcc236a6aebe20 /dvbdevice.c | |
parent | 4118097e736cededdf0b4d416d90886ac3afe1d2 (diff) | |
download | vdr-1b61b7f5bc50f95872326eb81293297a60083567.tar.gz vdr-1b61b7f5bc50f95872326eb81293297a60083567.tar.bz2 |
Fixed stopping an ongoing recording on a system with bonded devices, if a timer with a higher priority requires a different band (cont'd)
Diffstat (limited to 'dvbdevice.c')
-rw-r--r-- | dvbdevice.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/dvbdevice.c b/dvbdevice.c index 64bbae5c..1fba1661 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.86 2013/03/12 11:43:29 kls Exp $ + * $Id: dvbdevice.c 2.87 2013/03/13 11:23:53 kls Exp $ */ #include "dvbdevice.h" @@ -1485,6 +1485,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne needsDetachReceivers = Receiving(); } if (result) { + cMutexLock MutexLock(&bondMutex); if (!BondingOk(Channel)) { // This device is bonded, so we need to check the priorities of the others: for (cDvbDevice *d = bondedDevice; d && d != this; d = d->bondedDevice) { @@ -1492,9 +1493,10 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne result = false; break; } + needsDetachReceivers |= d->Receiving(); } needsDetachBondedReceivers = true; - needsDetachReceivers = true; + needsDetachReceivers |= Receiving(); } } } |