summaryrefslogtreecommitdiff
path: root/timers.cpp
diff options
context:
space:
mode:
authorSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-13 18:37:21 +0000
committerSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-13 18:37:21 +0000
commit2072c668df9ad48586fd2750713da0be742dda6d (patch)
treeb6a8af74320fe0b4af845fdc7ec0fca40d88f02d /timers.cpp
parent872af377d5d207b0292c4deb3ebdff09c116ea3d (diff)
downloadvdr-plugin-live-2072c668df9ad48586fd2750713da0be742dda6d.tar.gz
vdr-plugin-live-2072c668df9ad48586fd2750713da0be742dda6d.tar.bz2
- added service to switch channels by channel-id
Diffstat (limited to 'timers.cpp')
-rw-r--r--timers.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/timers.cpp b/timers.cpp
index 91e9c67..b497d1b 100644
--- a/timers.cpp
+++ b/timers.cpp
@@ -63,9 +63,6 @@ cTimer* SortedTimers::GetByTimerId( string const& timerid )
void SortedTimers::ReloadTimers( bool initial )
{
- if ( !Timers.Modified( m_state ) && !initial )
- return;
-
dsyslog("live reloading timers");
clear();
@@ -103,9 +100,15 @@ void TimerManager::UpdateTimer( cTimer* timer, int flags, tChannelID& channel, s
void TimerManager::DoPendingWork()
{
+ if ( m_updateTimers.size() == 0 && !m_timers.Modified() )
+ return;
+
cMutexLock lock( this );
- if ( m_updateTimers.size() > 0 )
+ if ( m_updateTimers.size() > 0 ) {
DoUpdateTimers();
+ dsyslog("SV: signalling waiters");
+ m_updateWait.Broadcast();
+ }
m_timers.ReloadTimers();
}
@@ -121,8 +124,6 @@ void TimerManager::DoUpdateTimers()
DoUpdateTimer( *timer );
}
m_updateTimers.clear();
- dsyslog("SV: signalling waiters");
- m_updateWait.Broadcast();
}
void TimerManager::DoInsertTimer( TimerPair& timerData )