summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasmin Jessich <jasmin@anw.at>2017-06-23 23:34:33 (GMT)
committerJasmin Jessich <jasmin@anw.at>2017-06-23 23:41:56 (GMT)
commit203895d72ea0d5858685e324faeafb3050b2c177 (patch)
tree30dacceaa5980c7e928cddf8102fa82aa474cbf2
parent5cb665d2718b0e5f950b5796c70d92aaffa60b9f (diff)
downloadvdr-plugin-live-203895d72ea0d5858685e324faeafb3050b2c177.tar.gz
vdr-plugin-live-203895d72ea0d5858685e324faeafb3050b2c177.tar.bz2
Fixed lock order in remote.ecpp
- Move the top LOCK_CHANNELS_READ into the blocks and use several lock statements.
-rw-r--r--pages/remote.ecpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/pages/remote.ecpp b/pages/remote.ecpp
index 0c46f69..7c43268 100644
--- a/pages/remote.ecpp
+++ b/pages/remote.ecpp
@@ -28,9 +28,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
pageTitle = tr("Remote Control");
-#if VDRVERSNUM >= 20301
- LOCK_CHANNELS_READ;
-#else
+#if VDRVERSNUM < 20301
ReadLock channelsLock( Channels );
if ( !channelsLock )
throw HtmlError( tr("Couldn't aquire access to channels, please try again later.") );
@@ -39,6 +37,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
// cChannel* Channel; (see %request above)
if ( channel > 0 ) {
#if VDRVERSNUM >= 20301
+ LOCK_CHANNELS_READ;
Channel = (cChannel *)Channels->GetByNumber( channel );
#else
Channel = Channels.GetByNumber( channel );
@@ -47,6 +46,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
else {
if (cDevice::CurrentChannel()) {
#if VDRVERSNUM >= 20301
+ LOCK_CHANNELS_READ;
Channel = (cChannel *)Channels->GetByNumber(cDevice::CurrentChannel());
#else
Channel = Channels.GetByNumber(cDevice::CurrentChannel());
@@ -54,6 +54,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
}
else {
#if VDRVERSNUM >= 20301
+ LOCK_CHANNELS_READ;
Channel = (cChannel *)Channels->Get( Channels->GetNextNormal( -1 ) );
#else
Channel = Channels.Get( Channels.GetNextNormal( -1 ) );