From 7e30f7b7c80d41883ec9b0187dc9c47b6765a4d1 Mon Sep 17 00:00:00 2001 From: Dimitar Petrovski Date: Sat, 11 Aug 2018 14:27:23 +0200 Subject: fix wrong lock sequence thanks to Matthias Feistel --- eit2.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'eit2.c') 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()); -- cgit v1.2.3