[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 0.2.0.10-70-g5b35eee

X2Go dev team git-admin at x2go.org
Wed Jan 8 15:31:22 CET 2014


The branch, build-baikal has been updated
       via  5b35eeeed3c98f3d2d0972b58b7f5e905ae5872a (commit)
      from  b37028bb97e1c1dc628d28caa2c2318d4da409d1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                 |    2 ++
 x2go/backends/control/_stdout.py |   11 +++--------
 2 files changed, 5 insertions(+), 8 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 7ec4d16..60103f2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -44,6 +44,8 @@ python-x2go (0.2.1.0-0~x2go1) UNRELEASED; urgency=low
       versions of Python Paramiko.
     - Allow usernames containing space characters in user names (common
       on MS Windows).
+    - Use threading.Lock to prohibit simultaneous calls of
+      get_published_applications() of control sessions.
   * /debian/rules:
     + Allow package build on systems with missing dh_python2.
   * /debian/control:
diff --git a/x2go/backends/control/_stdout.py b/x2go/backends/control/_stdout.py
index 62104fb..12e6d6a 100644
--- a/x2go/backends/control/_stdout.py
+++ b/x2go/backends/control/_stdout.py
@@ -219,7 +219,7 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient):
         self.session_died = False
 
         self.published_applications_no_submenus = published_applications_no_submenus
-        self._already_querying_published_applications = False
+        self._already_querying_published_applications = threading.Lock()
 
         self._transport_lock = threading.Lock()
 
@@ -1011,12 +1011,7 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient):
         @rtype: C{list}
 
         """
-
-        if self._already_querying_published_applications:
-            self.logger('This control session instance is currently already querying the published applications menu tree for session profile %s. Whenever this warning pops up in your log file it means that you should fix your client implementation code. Only call this method once per session profile!!!' % self.profile_name, loglevel=log.loglevel_WARN)
-            return None
-        else:
-            self._already_querying_published_applications = True
+        self._already_querying_published_applications.acquire():
 
         if defaults.X2GOCLIENT_OS != 'Windows' and lang is None:
             lang = locale.getdefaultlocale()[0]
@@ -1184,7 +1179,7 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient):
             # FIXME: ignoring the absence of the published applications feature for now, handle it appropriately later
             pass
 
-        self._already_querying_published_applications = False
+        self._already_querying_published_applications.release()
         return self._published_applications_menu
 
 


hooks/post-receive
-- 
python-x2go.git (Python X2Go Client API)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "python-x2go.git" (Python X2Go Client API).




More information about the x2go-commits mailing list