diff options
author | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2019-04-01 16:17:09 +0200 |
---|---|---|
committer | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2019-07-05 13:04:34 +0200 |
commit | 3596d0353b498234c4ec1515106b13e51b758668 (patch) | |
tree | 46bbbeb04ed9968bc4fc567516df7a8787c72d00 | |
parent | 4ba3e07bb3eed9cd261219978b238157af202885 (diff) | |
download | vdr-plugin-tvguideng-3596d0353b498234c4ec1515106b13e51b758668.tar.gz vdr-plugin-tvguideng-3596d0353b498234c4ec1515106b13e51b758668.tar.bz2 |
Fixed deadlock in DeleteTimer
-rw-r--r-- | recmanager.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/recmanager.c b/recmanager.c index d9912be..7b03630 100644 --- a/recmanager.c +++ b/recmanager.c @@ -168,10 +168,13 @@ void cRecManager::SetTimerPath(cTimer *timer, const cEvent *event, std::string p void cRecManager::DeleteTimer(int timerID) { #if defined (APIVERSNUM) && (APIVERSNUM >= 20301) + const cTimer *t; + { LOCK_TIMERS_READ; - const cTimer *t = Timers->Get(timerID); + t = Timers->Get(timerID); + } #else - const cTimer *t = Timers.Get(timerID); + t = Timers.Get(timerID); #endif if (!t) @@ -191,10 +194,13 @@ void cRecManager::DeleteTimer(const cEvent *event) { void cRecManager::DeleteLocalTimer(const cEvent *event) { #if defined (APIVERSNUM) && (APIVERSNUM >= 20301) + const cTimer *t; + { LOCK_TIMERS_READ; - const cTimer *t = Timers->GetMatch(event); + t = Timers->GetMatch(event); + } #else - const cTimer *t = Timers.GetMatch(event); + t = Timers.GetMatch(event); #endif if (!t) |