summaryrefslogtreecommitdiff
path: root/searchtimer_thread.c
diff options
context:
space:
mode:
authorChristian Wieninger <cwieninger@gmx.de>2012-04-06 20:27:04 +0200
committerChristian Wieninger <cwieninger@gmx.de>2012-04-06 20:27:04 +0200
commit3bd2658c85f00269583259d5912c88f031b9599f (patch)
tree6f95f40fbaf30b383a16f566d84a0ade7b448cec /searchtimer_thread.c
parent65f1e5030f076c530a5a6a37ead43cf7d9d86325 (diff)
downloadvdr-plugin-epgsearch-3bd2658c85f00269583259d5912c88f031b9599f.tar.gz
vdr-plugin-epgsearch-3bd2658c85f00269583259d5912c88f031b9599f.tar.bz2
bugtracker #929, bunch of warning fixes, thanks to Joe_D for providing this patch
Diffstat (limited to 'searchtimer_thread.c')
-rw-r--r--searchtimer_thread.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/searchtimer_thread.c b/searchtimer_thread.c
index af67988..71a8ea1 100644
--- a/searchtimer_thread.c
+++ b/searchtimer_thread.c
@@ -205,11 +205,11 @@ void cSearchTimerThread::Action(void)
// let VDR do its startup
if (!cPluginEpgsearch::VDR_readyafterStartup)
LogFile.Log(2, "SearchTimerThread: waiting for VDR to become ready...");
- while(m_Active && !cPluginEpgsearch::VDR_readyafterStartup)
+ while(Running() && m_Active && !cPluginEpgsearch::VDR_readyafterStartup)
Wait.Wait(1000);
time_t nextUpdate = time(NULL);
- while (m_Active)
+ while (m_Active && Running())
{
time_t now = time(NULL);
bool needUpdate = NeedUpdate();
@@ -225,7 +225,7 @@ void cSearchTimerThread::Action(void)
{
Wait.Wait(1000);
}
- while(EITScanner.Active() && m_Active);
+ while(EITScanner.Active() && m_Active && Running());
LogFile.Log(1,"EPG scan finished");
}
if (Timers.BeingEdited())
@@ -245,7 +245,7 @@ void cSearchTimerThread::Action(void)
cSearchExt *searchExt = localSearchExts->First();
// reset announcelist
announceList.Clear();
- while (searchExt && m_Active)
+ while (searchExt && m_Active && Running())
{
if (!searchExt->IsActiveAt(now))
{
@@ -269,6 +269,7 @@ void cSearchTimerThread::Action(void)
pResultObj;
pResultObj = pSearchResults->Next(pResultObj))
{
+ if (!Running()) break;
const cEvent* pEvent = pResultObj->event;
if (!pEvent)
continue;
@@ -534,7 +535,7 @@ void cSearchTimerThread::Action(void)
LogFile.iSysLog("search timer update finished");
// check for conflicts
- if (EPGSearchConfig.checkTimerConflictsAfterUpdate && m_Active)
+ if (EPGSearchConfig.checkTimerConflictsAfterUpdate && m_Active && Running())
{
LogFile.iSysLog("check for timer conflicts");
cConflictCheck conflictCheck;
@@ -586,9 +587,9 @@ void cSearchTimerThread::Action(void)
nextUpdate = long(m_lastUpdate/60)*60 + (EPGSearchConfig.UpdateIntervall * 60);
justRunning = false;
}
- if (m_Active)
+ if (m_Active && Running())
Wait.Wait(2000); // to avoid high system load if time%30==0
- while (m_Active && !NeedUpdate() && time(NULL)%30 != 0) // sync heart beat to a multiple of 5secs
+ while (Running() && m_Active && !NeedUpdate() && time(NULL)%30 != 0) // sync heart beat to a multiple of 5secs
Wait.Wait(1000);
};
LogFile.iSysLog("Leaving search timer thread");