[X2Go-Commits] python-x2go.git - build-baikal (branch) updated: 0.1.1.4-229-g301f531

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


The branch, build-baikal has been updated
       via  301f531414426b31db6b2196502f7c1310bb7eb4 (commit)
      from  fe53e1d162fc80671321f9904ecc47f2f59b8071 (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 |    1 +
 x2go/cache.py    |    6 ++++++
 2 files changed, 7 insertions(+)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index f927ece..2365db9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -119,6 +119,7 @@ python-x2go (0.1.2.0-0~x2go1) UNRELEASED; urgency=low
     - Make sure path names in X2goPrintActions and X2goMIMEboxActions get
       transformed to OS-specific path names.
     - Not using gevent to spawn MIME box default applications.
+    - Protect session cache from deletion while being processed.
   * Depend on python-xlib.
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Sat, 28 Sep 2012 01:44:21 +0100
diff --git a/x2go/cache.py b/x2go/cache.py
index 77cbff2..a67b347 100644
--- a/x2go/cache.py
+++ b/x2go/cache.py
@@ -25,6 +25,7 @@ __NAME__ = 'x2gocache-pylib'
 
 # modules
 import copy
+import gevent
 
 # Python X2Go modules
 import log
@@ -62,6 +63,7 @@ class X2goListSessionsCache(object):
         """
         self.x2go_listsessions_cache = {}
         self.last_listsessions_cache = {}
+        self.protected = False
 
         if logger is None:
             self.logger = log.X2goLogger(loglevel=loglevel)
@@ -79,6 +81,8 @@ class X2goListSessionsCache(object):
         @type profile_name: C{str}
 
         """
+        while self.protected:
+            gevent.sleep()
         try: del self.x2go_listsessions_cache[profile_name]
         except KeyError: pass
 
@@ -122,6 +126,7 @@ class X2goListSessionsCache(object):
         @type update_mounts: C{bool}
 
         """
+        self.protected = True
         self.last_listsessions_cache = copy.deepcopy(self.x2go_listsessions_cache)
         control_session = self.client_instance.client_control_session_of_profile_name(profile_name)
         if not self.x2go_listsessions_cache.has_key(profile_name):
@@ -132,6 +137,7 @@ class X2goListSessionsCache(object):
             self._update_desktops(profile_name, control_session)
         if update_mounts:
             self._update_mounts(profile_name, control_session)
+        self.protected = False
 
     def _update_mounts(self, profile_name, control_session):
         """\


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