[X2Go-Commits] [python-x2go] 01/02: x2go/session.py: Only release locks if actually locked.

git-admin at x2go.org git-admin at x2go.org
Thu Aug 31 15:24:54 CEST 2017


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository python-x2go.

commit 7cae4ec3a99448c37644dbfa28cb7931a484531d
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Thu Aug 31 15:21:52 2017 +0200

    x2go/session.py: Only release locks if actually locked.
---
 debian/changelog |  1 +
 x2go/session.py  | 27 ++++++++++++++++++---------
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 3951991..eb56494 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ python-x2go (0.5.0.6-0x2go1) UNRELEASED; urgency=medium
 
   [ Mike Gabriel ]
   * x2go/defaults.py: Support LXQt sessions by default.
+  * x2go/session.py: Only release locks if actually locked.
 
  -- X2Go Release Manager <git-admin at x2go.org>  Mon, 15 May 2017 20:01:59 +0200
 
diff --git a/x2go/session.py b/x2go/session.py
index b1f836d..f36ceea 100644
--- a/x2go/session.py
+++ b/x2go/session.py
@@ -1790,10 +1790,12 @@ class X2GoSession(object):
         try:
             _retval = self._resume(session_name=session_name, session_list=session_list, cmd=cmd, progress_event=progress_event)
         except:
-            self._lock.release()
+            if self._lock.locked():
+                self._lock.release()
             raise
         finally:
-            self._lock.release()
+            if self._lock.locked():
+                self._lock.release()
         return _retval
 
     def _resume(self, session_name=None, session_list=None, cmd=None, progress_event=None):
@@ -1869,7 +1871,8 @@ class X2GoSession(object):
                     self._progress_status = 10
                     progress_event.set()
 
-                    self._lock.release()
+                    if self._lock.locked():
+                        self._lock.release()
                     gevent.sleep(5)
                     self._lock.acquire()
 
@@ -2098,10 +2101,12 @@ class X2GoSession(object):
         try:
             _retval = self._share_desktop(desktop=desktop, user=user, display=display, share_mode=share_mode, check_desktop_list=check_desktop_list, progress_event=progress_event)
         except:
-            self._lock.release()
+            if self._lock.locked():
+                self._lock.release()
             raise
         finally:
-            self._lock.release()
+            if self._lock.locked():
+                self._lock.release()
         return _retval
 
     def _share_desktop(self, desktop=None, user=None, display=None, share_mode=0, check_desktop_list=True, progress_event=None):
@@ -2298,10 +2303,12 @@ class X2GoSession(object):
         try:
             _retval = self._suspend()
         except:
-            self._lock.release()
+            if self._lock.locked():
+                self._lock.release()
             raise
         finally:
-            self._lock.release()
+            if self._lock.locked():
+                self._lock.release()
         return _retval
 
     def _suspend(self):
@@ -2369,10 +2376,12 @@ class X2GoSession(object):
         try:
             _retval = self._terminate()
         except:
-            self._lock.release()
+            if self._lock.locked():
+                self._lock.release()
             raise
         finally:
-            self._lock.release()
+            if self._lock.locked():
+                self._lock.release()
         return _retval
 
     def _terminate(self):

--
Alioth's /srv/git/code.x2go.org/python-x2go.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git


More information about the x2go-commits mailing list