Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: DVB-T UK and odd new drivers problems (was: RTL-group replayproblems)
Gregor Lawatscheck wrote:
>
> ...
> >- Blue button crashes (in a non-self restarting kind of way) vdr when used
> >in the channel
> > list "switch" context. This *really* annoys the wife.
Please try this patch - it should fix the blue button crash
(thanks to Torsten Herz <torsten.herz@web.de>):
--- eit.c 2003/02/02 15:41:03 1.65
+++ eit.c 2003/03/16 11:14:35 1.66
@@ -1250,12 +1250,13 @@
if (seclen == r)
{
//dsyslog("Received pid 0x%04X with table ID 0x%02X and length of %4d\n", pid, buf[0], seclen);
+ cMutexLock MutexLock(&schedulesMutex); // since the xMem... stuff is not thread safe, we need to use a "global" mutex
+ LOCK_THREAD;
switch (pid)
{
case 0x00:
if (buf[0] == 0x00)
{
- LOCK_THREAD;
if (pmtPid && time(NULL) - lastPmtScan > PMT_SCAN_TIMEOUT) {
DelFilter(pmtPid, 0x02);
pmtPid = 0;
@@ -1263,7 +1264,6 @@
lastPmtScan = time(NULL);
}
if (!pmtPid) {
- cMutexLock MutexLock(&schedulesMutex); // since the xMem... stuff is not thread safe, we need to use a "global" mutex
struct LIST *pat = siParsePAT(buf);
if (pat) {
int Index = 0;
@@ -1301,7 +1301,6 @@
case 0x12:
if (buf[0] != 0x72)
{
- cMutexLock MutexLock(&schedulesMutex);
cEIT ceit(buf, seclen, schedules);
ceit.ProcessEIT(buf, currentSource);
}
@@ -1310,9 +1309,7 @@
break;
default: {
- LOCK_THREAD;
if (pid == pmtPid && buf[0] == 0x02 && currentSource && currentTransponder) {
- cMutexLock MutexLock(&schedulesMutex); // since the xMem... stuff is not thread safe, we need to use a "global" mutex
struct Pid *pi = siParsePMT(buf);
if (pi) {
for (struct LIST *d = (struct LIST *)pi->Descriptors; d; d = (struct LIST *)xSucc(d)) {
--
_______________________________________________________________
Klaus Schmidinger Phone: +49-8635-6989-10
CadSoft Computer GmbH Fax: +49-8635-6989-40
Hofmark 2 Email: kls@cadsoft.de
D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
_______________________________________________________________
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.
Home |
Main Index |
Thread Index