summaryrefslogtreecommitdiff
path: root/eit2.c
diff options
context:
space:
mode:
authorDimitar Petrovski <dimeptr@gmail.com>2018-08-11 14:27:23 +0200
committerDimitar Petrovski <dimeptr@gmail.com>2018-08-11 14:27:23 +0200
commit7e30f7b7c80d41883ec9b0187dc9c47b6765a4d1 (patch)
treef30b2f8d85abc4b93f1808cb4ab59e460238b98e /eit2.c
parent584d76601777973253c87580216a7f5b970bae44 (diff)
downloadvdr-plugin-eepg-7e30f7b7c80d41883ec9b0187dc9c47b6765a4d1.tar.gz
vdr-plugin-eepg-7e30f7b7c80d41883ec9b0187dc9c47b6765a4d1.tar.bz2
fix wrong lock sequence thanks to Matthias Feistel
Diffstat (limited to 'eit2.c')
-rw-r--r--eit2.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/eit2.c b/eit2.c
index 63f6187..a8b0561 100644
--- a/eit2.c
+++ b/eit2.c
@@ -118,8 +118,6 @@ void cEIT2::ProcessEventDescriptors(bool ExternalData, int Source,
cComponents *Components = NULL;
#if APIVERSNUM >= 20300
- LOCK_CHANNELS_WRITE;
- if (!Channels) return;
cChannel *channel = Channels->GetByChannelID(channelId);
#else
cChannel *channel = Channels.GetByChannelID(channelId);
@@ -461,9 +459,10 @@ void cEIT2::ProcessEventDescriptors(bool ExternalData, int Source,
channel->SetLinkChannels (LinkChannels);
}
-cEIT2::cEIT2 (cSchedules * Schedules, int Source, u_char Tid, const u_char * Data, EFormat format, bool isEITPid, bool OnlyRunningStatus)
+cEIT2::cEIT2 (cChannels* Channels, cSchedules * Schedules, int Source, u_char Tid, const u_char * Data, EFormat format, bool isEITPid, bool OnlyRunningStatus)
: SI::EIT (Data, false)
, OnlyRunningStatus(OnlyRunningStatus)
+, Channels(Channels)
, Schedules(Schedules)
, Format(format)
{
@@ -575,7 +574,6 @@ cEIT2::cEIT2 (cSchedules * Schedules, int Source, u_char Tid, const u_char * Dat
// ETR 211: an empty entry in section 0 of table 0x4E means there is currently no event running
{
#if APIVERSNUM >= 20300
- LOCK_CHANNELS_WRITE;
cChannel *chan = Channels->GetByChannelID(channel->GetChannelID());
#else
cChannel *chan = Channels.GetByChannelID(channel->GetChannelID());