Project "Tuxbox-GIT: apps": The branch, master has been updated via b5fb984270c44c20e633cd8f398a2d0f9903681b (commit) from f63448b80a8b344b674c79b3edd7a2bb96e52bd2 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b5fb984270c44c20e633cd8f398a2d0f9903681b Author: GetAway <get-a...@t-online.de> Date: Sun Jun 7 15:20:00 2015 +0200 sectionsd: move some debug code small cleanup Signed-off-by: GetAway <get-a...@t-online.de> diff --git a/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp b/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp index 916088b..f628bb0 100644 --- a/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp +++ b/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp @@ -83,7 +83,7 @@ #include "SIsections.hpp" #include "SIlanguage.hpp" -#define SECTIONSD_VERSION "1.347" +#define SECTIONSD_VERSION "1.348" // 60 Minuten Zyklus... #define TIME_EIT_SCHEDULED_PAUSE 60 * 60 @@ -354,6 +354,18 @@ static time_t messaging_last_requested = time(NULL); static bool messaging_neutrino_sets_time = false; //static bool messaging_WaitForServiceDesc = false; +/* helper function for the housekeeping-thread */ +static void print_meminfo(void) +{ + if (!debug) + return; + + struct mallinfo meminfo = mallinfo(); + dprintf("total size of memory occupied by chunks handed out by malloc: %d\n" + "total bytes memory allocated with `sbrk' by malloc, in bytes: %d (%dkB)\n", + meminfo.uordblks, meminfo.arena, meminfo.arena / 1024); +} + inline bool waitForTimeset(void) { pthread_mutex_lock(&timeIsSetMutex); @@ -1178,18 +1190,18 @@ xmlNodePtr FindTransponder(xmlNodePtr provider, const t_original_network_id onid static void removeOldEvents(const long seconds) { - bool goodtimefound; std::vector<event_id_t> to_delete; // Alte events loeschen time_t zeit = time(NULL); readLockEvents(); + unsigned total_events = mySIeventsOrderUniqueKey.size(); MySIeventsOrderFirstEndTimeServiceIDEventUniqueKey::iterator e = mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.begin(); while ((e != mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.end()) && (!messaging_zap_detected)) { - goodtimefound = false; + bool goodtimefound = false; for (SItimes::iterator t = (*e)->times.begin(); t != (*e)->times.end(); ++t) { if (t->startzeit + (long)t->dauer >= zeit - seconds) { goodtimefound=true; @@ -1201,7 +1213,7 @@ static void removeOldEvents(const long seconds) if (false == goodtimefound) to_delete.push_back((*e)->uniqueKey()); ++e; - } + } unlockEvents(); while (!to_delete.empty()) @@ -1210,6 +1222,13 @@ static void removeOldEvents(const long seconds) to_delete.pop_back(); } + if (debug) { + readLockEvents(); + print_meminfo(); + xprintf("[sectionsd] Removed %d old events (%d left), zap detected %d.\n", (int)(total_events - mySIeventsOrderUniqueKey.size()), (int)mySIeventsOrderUniqueKey.size(), messaging_zap_detected); + unlockEvents(); + } + return; } @@ -1229,6 +1248,7 @@ static void removeWasteEvents() bool lastidfound = true; readLockEvents(); + unsigned total_events = mySIeventsOrderUniqueKey.size(); MySIeventsOrderUniqueKey::iterator e = mySIeventsOrderUniqueKey.begin(); @@ -1300,6 +1320,13 @@ static void removeWasteEvents() to_delete.pop_back(); } + if (debug) { + readLockEvents(); + print_meminfo(); + xprintf("[sectionsd] Removed %d waste events (%d left), zap detected %d.\n", (int)(total_events - mySIeventsOrderUniqueKey.size()), (int)mySIeventsOrderUniqueKey.size(), messaging_zap_detected); + unlockEvents(); + } + xmlFreeDoc(service_parser); return; } @@ -8204,18 +8231,6 @@ static void *pptThread(void *) #endif -/* helper function for the housekeeping-thread */ -static void print_meminfo(void) -{ - if (!debug) - return; - - struct mallinfo meminfo = mallinfo(); - dprintf("total size of memory occupied by chunks handed out by malloc: %d\n" - "total bytes memory allocated with `sbrk' by malloc, in bytes: %d (%dkB)\n", - meminfo.uordblks, meminfo.arena, meminfo.arena / 1024); -} - //--------------------------------------------------------------------- // housekeeping-thread // does cleaning on fetched datas @@ -8248,39 +8263,16 @@ static void *houseKeepingThread(void *) // TODO: maybe we need to stop scanning here?... - readLockEvents(); - - unsigned anzEventsAlt = mySIeventsOrderUniqueKey.size(); - dprintf("before removeoldevents\n"); - unlockEvents(); removeOldEvents(oldEventsAre); // alte Events - dprintf("after removeoldevents\n"); - readLockEvents(); - if (mySIeventsOrderUniqueKey.size() != anzEventsAlt) - { - print_meminfo(); - dprintf("Removed %d old events.\n", anzEventsAlt - mySIeventsOrderUniqueKey.size()); - } - unlockEvents(); -// usleep(100); -// lockEvents(); - anzEventsAlt = mySIeventsOrderUniqueKey.size(); - dprintf("before removewasteepg\n"); + removeWasteEvents(); // Events for channels not in services.xml - dprintf("after removewasteepg\n"); - readLockEvents(); - if (mySIeventsOrderUniqueKey.size() != anzEventsAlt) - { - print_meminfo(); - dprintf("Removed %d waste events.\n", anzEventsAlt - mySIeventsOrderUniqueKey.size()); - } + readLockEvents(); dprintf("Number of sptr events (event-ID): %u\n", mySIeventsOrderUniqueKey.size()); dprintf("Number of sptr events (service-id, start time, event-id): %u\n", mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.size()); dprintf("Number of sptr events (end time, service-id, event-id): %u\n", mySIeventsOrderFirstEndTimeServiceIDEventUniqueKey.size()); dprintf("Number of sptr nvod events (event-ID): %u\n", mySIeventsNVODorderUniqueKey.size()); dprintf("Number of cached meta-services: %u\n", mySIeventUniqueKeysMetaOrderServiceUniqueKey.size()); - unlockEvents(); readLockServices(); ----------------------------------------------------------------------- Summary of changes: tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp | 74 ++++++++++------------- 1 files changed, 33 insertions(+), 41 deletions(-) -- Tuxbox-GIT: apps ------------------------------------------------------------------------------ _______________________________________________ Tuxbox-cvs-commits mailing list Tuxbox-cvs-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tuxbox-cvs-commits