git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix locking in dvb file player
[enigma2.git]
/
lib
/
dvb
/
epgcache.cpp
diff --git
a/lib/dvb/epgcache.cpp
b/lib/dvb/epgcache.cpp
index 10ca29fb84b0e9de611b9300c302a1acf27e79f4..0af14c6b9c7e2c8586592ff3942f06b84a08f007 100644
(file)
--- a/
lib/dvb/epgcache.cpp
+++ b/
lib/dvb/epgcache.cpp
@@
-701,6
+701,7
@@
void eEPGCache::thread()
void eEPGCache::load()
{
void eEPGCache::load()
{
+ singleLock s(cache_lock);
FILE *f = fopen("/hdd/epg.dat", "r");
if (f)
{
FILE *f = fopen("/hdd/epg.dat", "r");
if (f)
{
@@
-1541,7
+1542,7
@@
PyObject *eEPGCache::lookupEvent(PyObject *list, PyObject *convertFunc)
if (!PyString_Check(entry))
{
eDebug("tuple entry 0 is no a string");
if (!PyString_Check(entry))
{
eDebug("tuple entry 0 is no a string");
-
continue
;
+
goto skip_entry
;
}
service = entry;
break;
}
service = entry;
break;
@@
-1551,7
+1552,7
@@
PyObject *eEPGCache::lookupEvent(PyObject *list, PyObject *convertFunc)
if (type < -1 || type > 2)
{
eDebug("unknown type %d", type);
if (type < -1 || type > 2)
{
eDebug("unknown type %d", type);
-
continue
;
+
goto skip_entry
;
}
break;
case 2:
}
break;
case 2:
@@
-1623,6
+1624,8
@@
PyObject *eEPGCache::lookupEvent(PyObject *list, PyObject *convertFunc)
if (service_name)
Py_DECREF(service_name);
}
if (service_name)
Py_DECREF(service_name);
}
+skip_entry:
+ ;
}
if (convertFuncArgs)
Py_DECREF(convertFuncArgs);
}
if (convertFuncArgs)
Py_DECREF(convertFuncArgs);