[X2go-Commits] python-x2go.git - master (branch) updated: 0.1.1.4-229-g301f531
X2Go dev team
git-admin at x2go.org
Tue Apr 24 21:32:09 CEST 2012
The branch, master 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 -----------------------------------------------------------------
commit 301f531414426b31db6b2196502f7c1310bb7eb4
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Tue Apr 24 21:32:02 2012 +0200
Protect session cache from deletion while being processed.
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 1 +
x2go/cache.py | 6 ++++++
2 files changed, 7 insertions(+), 0 deletions(-)
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