Project

General

Profile

Bug #2586 » vdr-2.4.0-eepg-lock.patch

cheesemonster, 06/19/2019 11:50 AM

View differences:

eepg.c
void cFilterEEPG::SetStatus (bool On)
{
LogI(0, prep("setstatus %d\n"), On);
// LogI(0, prep("setstatus %d\n"), On);
if (!On) {
FreeSummaries ();
FreeTitles ();
......
{
if (!Matches (Pid, Tid)) {
Add (Pid, Tid);
esyslog (prep("Filter Pid:0x%x,Tid:0x%x added."), Pid, Tid);
//esyslog (prep("Filter Pid:0x%x,Tid:0x%x added."), Pid, Tid);
}
}
......
{
if (!Matches (Pid, Tid)) {
Add (Pid, Tid, Mask);
esyslog (prep("Filter Pid:0x%x,Tid:0x%x,Mask:0x%x added."), Pid, Tid, Mask);
//esyslog (prep("Filter Pid:0x%x,Tid:0x%x,Mask:0x%x added."), Pid, Tid, Mask);
}
}
eit2.c
//LogD(5, prep("channelID: %s format:%d"), *channel->GetChannelID().ToString(), Format);
#if APIVERSNUM >= 20300
LOCK_CHANNELS_WRITE;
cStateKey ChannelsStateKey;
cChannels *Channels = cChannels::GetChannelsWrite(ChannelsStateKey, 10);
if (!Channels) {
LogD(3, prep("Error obtaining channels lock"));
return;
}
LOCK_SCHEDULES_WRITE;
cStateKey SchedulesStateKey;
cSchedules *Schedules = cSchedules::GetSchedulesWrite(SchedulesStateKey, 10);
if (!Schedules) {
ChannelsStateKey.Remove(false);
LogD(3, prep("Error obtaining schedules lock"));
return;
}
......
if (Tid == 0x4E)
pSchedule->SetPresentSeen ();
if (OnlyRunningStatus) {
SchedulesStateKey.Remove(false);
ChannelsStateKey.Remove(false);
LogD(4, prep("OnlyRunningStatus"));
return;
}
......
pSchedule->DropOutdated (SegmentStart, SegmentEnd, Tid, getVersionNumber ());
sortSchedules(Schedules, channel->GetChannelID());
}
SchedulesStateKey.Remove(Modified);
ChannelsStateKey.Remove(Modified);
LogD(4, prep("end of cEIT2"));
}
util.c
bit++;
}
} else {
LogE (0, prep("Missing table %d entry: <%s>"), tableid + 1, uncompressed);
//LogE (0, prep("Missing table %d entry: <%s>"), tableid + 1, uncompressed);
// Entry missing in table.
return uncompressed;
}
(2-2/2)