[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:31:03 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