diff options
author | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2008-10-06 19:05:33 +0200 |
---|---|---|
committer | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2008-10-06 19:05:33 +0200 |
commit | d04428ee6ea2ab584eb3b1dd9c8bd1d051137f42 (patch) | |
tree | 2e4e2784343dfeef53e75dd65b1df9fdc1ff545f | |
parent | 5f6c56f9b630ef18d5c8808569fc11ca82313e88 (diff) | |
download | vdr-plugin-epgsearch-d04428ee6ea2ab584eb3b1dd9c8bd1d051137f42.tar.gz vdr-plugin-epgsearch-d04428ee6ea2ab584eb3b1dd9c8bd1d051137f42.tar.bz2 |
improved response time when canceling the search timer thread
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | HISTORY.DE | 1 | ||||
-rw-r--r-- | doc-src/en/epgsearch.4.txt | 4 | ||||
-rw-r--r-- | searchtimer_thread.c | 13 |
4 files changed, 11 insertions, 8 deletions
@@ -27,6 +27,7 @@ fixes: thanks to e9hack@vdrportal for providing a patch - fixed line breaks in SVDRP command LSTT, thanks to Andreas Mair for providing a patch +- improved response time when canceling the search timer thread 2008-04-29: Version 0.9.24 @@ -28,6 +28,7 @@ fixes: - Es wird nun cCondWait::Wait anstelle von cCondWait:SleepMs verwendet um Probleme beim Beenden zu vermeiden, danke e9hack@vdrportal für den Patch - Zeilenumbrüche im SVDRP-Befehl LSTT korrigiert, Danke an Andreas Mair für einen Patch +- Antwortzeit beim Abbruch des Suchtimer-Threads verbessert 2008-04-29: Version 0.9.24 diff --git a/doc-src/en/epgsearch.4.txt b/doc-src/en/epgsearch.4.txt index 8267c35..884685a 100644 --- a/doc-src/en/epgsearch.4.txt +++ b/doc-src/en/epgsearch.4.txt @@ -44,7 +44,7 @@ directory entries could look like this: Childrens Movies~%category% %CATEGORY%~%genre% -There are also three other variables: %Title%, %Subtitle% and %Channel%. +There are also three other variables: %Title%, %Subtitle% and %chlng%. If you don't use %Title%, the title is always automatically appended to the directory entry, when a timer will be created. If you set 'serial recording' to 'yes' in your search timer then also the @@ -57,7 +57,7 @@ is the same as %Category%~%Genre% (with 'serial recording' set to 'yes'). -The %Channel% variable gets replaced with the name of the channel. +The %chnlng% variable gets replaced with the name of the channel. Attention: Automatically appending title and subtitle will not be done, if you use the variables %Title% or %Subtitle% in the directory diff --git a/searchtimer_thread.c b/searchtimer_thread.c index a8ed791..d890bbd 100644 --- a/searchtimer_thread.c +++ b/searchtimer_thread.c @@ -477,7 +477,7 @@ void cSearchTimerThread::Action(void) LogFile.iSysLog("search timer update finished"); // check for conflicts - if (EPGSearchConfig.checkTimerConflictsAfterUpdate) + if (EPGSearchConfig.checkTimerConflictsAfterUpdate && m_Active) { LogFile.iSysLog("check for timer conflicts"); cConflictCheck conflictCheck; @@ -514,9 +514,10 @@ void cSearchTimerThread::Action(void) // check for updates for manual timers CheckManualTimers(); - mailNotifier.SendUpdateNotifications(); + if (m_Active) + mailNotifier.SendUpdateNotifications(); - if (updateForced == 2) + if (updateForced == 2 && m_Active) SendMsg(tr("Search timer update done!")); // reset service call flag @@ -709,7 +710,7 @@ void cSearchTimerThread::CheckExpiredRecs() LogFile.Log(1, "check for expired recordings started"); cThreadLock RecordingsLock(&Recordings); cList<cRecordingObj> DelRecordings; - for (cRecording *recording = Recordings.First(); recording; recording = Recordings.Next(recording)) + for (cRecording *recording = Recordings.First(); recording && m_Active; recording = Recordings.Next(recording)) { LogFile.Log(3, "check recording %s from %s for expiration", recording->Name(), DAYDATETIME(recording->start)); if (recording->start == 0) @@ -747,7 +748,7 @@ void cSearchTimerThread::CheckExpiredRecs() else LogFile.Log(3, "recording will expire in %d days, search timer %s", search->delAfterDays - daysBetween, search->search); } - for (cRecordingObj *recordingObj = DelRecordings.First(); recordingObj; recordingObj = DelRecordings.Next(recordingObj)) + for (cRecordingObj *recordingObj = DelRecordings.First(); recordingObj && m_Active; recordingObj = DelRecordings.Next(recordingObj)) { cRecording* recording = recordingObj->recording; cSearchExt* search = recordingObj->search; @@ -817,7 +818,7 @@ void cSearchTimerThread::CheckManualTimers() const cSchedules *schedules; schedules = cSchedules::Schedules(schedulesLock); - for (cTimer *ti = Timers.First(); ti; ti = Timers.Next(ti)) + for (cTimer *ti = Timers.First(); ti && m_Active; ti = Timers.Next(ti)) { if (TriggeredFromSearchTimerID(ti) != -1) continue; // manual timer? |