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

X2Go dev team git-admin at x2go.org
Tue Jan 7 16:21:31 CET 2014


The branch, brokerclient 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