mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-09-18 10:51:07 +02:00
sectionsd: use better event set for removeDupEvents()
Use the set of events which is sorted by start time and
service id intead of the one sorted by end time to iterate
through the list of events. Fixes a mysterious crash on ppc.
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1385 e54a6e83-5905-42d5-8d5c-058d10e6a962
Origin commit data
------------------
Branch: ni/coolstream
Commit: 8f704427b8
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2011-04-11 (Mon, 11 Apr 2011)
------------------
This commit was generated by Migit
This commit is contained in:
@@ -1211,16 +1211,16 @@ static void removeOldEvents(const long seconds)
|
||||
*/
|
||||
static void removeDupEvents(void)
|
||||
{
|
||||
MySIeventsOrderFirstEndTimeServiceIDEventUniqueKey::iterator e1, e2, del;
|
||||
MySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey::iterator e1, e2, del;
|
||||
|
||||
readLockEvents();
|
||||
e1 = mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.begin();
|
||||
e1 = mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.begin();
|
||||
|
||||
while ((e1 != mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.end()) && !messaging_zap_detected)
|
||||
while ((e1 != mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.end()) && !messaging_zap_detected)
|
||||
{
|
||||
e2 = e1;
|
||||
e1++;
|
||||
if (e1 == mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.end())
|
||||
if (e1 == mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.end())
|
||||
break;
|
||||
|
||||
/* check for the same service */
|
||||
@@ -1238,14 +1238,14 @@ static void removeDupEvents(void)
|
||||
continue;
|
||||
}
|
||||
|
||||
del = mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.end();
|
||||
del = mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.end();
|
||||
if ((*e1)->table_id > (*e2)->table_id)
|
||||
del = e1;
|
||||
if ((*e1)->table_id < (*e2)->table_id)
|
||||
del = e2;
|
||||
|
||||
/* can not happen. This check is pure paranoia :) */
|
||||
if (del == mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.end())
|
||||
if (del == mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.end())
|
||||
continue;
|
||||
|
||||
xprintf("%s: removing event %llx.%02x '%s'\n", __func__,
|
||||
|
Reference in New Issue
Block a user