summaryrefslogtreecommitdiff
path: root/pages/schedule.ecpp
diff options
context:
space:
mode:
authorJasmin Jessich <jasmin@anw.at>2017-05-25 20:44:06 +0200
committerJasmin Jessich <jasmin@anw.at>2017-05-25 20:44:06 +0200
commit3e0774c0968dc38178cadb41558302c8a888b875 (patch)
tree3bd4cadc1b0f5127b54112b153b0a579b4195436 /pages/schedule.ecpp
parent6c7dc2d68ffd8a2097531e3acfee588a27710586 (diff)
downloadvdr-plugin-live-3e0774c0968dc38178cadb41558302c8a888b875.tar.gz
vdr-plugin-live-3e0774c0968dc38178cadb41558302c8a888b875.tar.bz2
Fixed lock order in several files
- It is still not finished, but most of the locks should be in the right order now. I am still waiting for a VDR patch to check the lock order dynamically.
Diffstat (limited to 'pages/schedule.ecpp')
-rw-r--r--pages/schedule.ecpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/pages/schedule.ecpp b/pages/schedule.ecpp
index c5e5979..71b62a0 100644
--- a/pages/schedule.ecpp
+++ b/pages/schedule.ecpp
@@ -26,11 +26,8 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
pageTitle = trVDR("Schedule");
#if VDRVERSNUM >= 20301
- /* JJJ: Order wrong! Better get first the channel and with unlocked
- * channels lock read the schedules
- */
- LOCK_SCHEDULES_READ;
- LOCK_CHANNELS_READ;
+ // we lock here only the channels on purpose
+ LOCK_CHANNELS_READ;
#else
cSchedulesLock schedulesLock;
cSchedules const* schedules = cSchedules::Schedules( schedulesLock );
@@ -68,6 +65,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
throw HtmlError( tr("Couldn't find channel or no channels available. Maybe you mistyped your request?") );
#if VDRVERSNUM >= 20301
+ LOCK_SCHEDULES_READ;
cSchedule const* Schedule = Schedules->GetSchedule( (const cChannel *)Channel );
#else
cSchedule const* Schedule = schedules->GetSchedule( Channel );