[X2go-Commits] python-x2go.git - master (branch) updated: 0.2.0.10-84-g9818ac0

X2Go dev team git-admin at x2go.org
Tue Nov 20 15:44:35 CET 2012


The branch, master has been updated
       via  9818ac0840cc6df753e4c354a8461b31f89c6af9 (commit)
      from  2e69094ec995acd4f217f0af6e9f2b24e673f555 (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 9818ac0840cc6df753e4c354a8461b31f89c6af9
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Tue Nov 20 15:42:41 2012 +0100

    Catch exceptions where a user tries to resume a session that has just been removed from the session list on the server (race condition).

-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                 |    3 +++
 x2go/backends/control/_stdout.py |   15 +++++++++------
 2 files changed, 12 insertions(+), 6 deletions(-)

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 871adcb..50fa388 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -50,6 +50,9 @@ python-x2go (0.2.1.0-0~x2go1) UNRELEASED; urgency=low
     - Add option to disable auto-registration of pubapp sessions.
     - Implement functionality for restoring mounted shares on session
       resumption / re-start. Sponsored by Dick Kniep, LinDix NL.
+    - Catch exceptions where a user tries to resume a session that has
+      just been removed from the session list on the server (race
+      condition).
   * /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 85a347e..cb309ad 100644
--- a/x2go/backends/control/_stdout.py
+++ b/x2go/backends/control/_stdout.py
@@ -1221,13 +1221,16 @@ class X2goControlSessionSTDOUT(paramiko.SSHClient):
         if not self.is_x2gouser(self.get_transport().get_username()):
             raise x2go_exceptions.X2goUserException('remote user %s is not allowed to run X2Go commands' % self.get_transport().get_username())
 
-        if session_name is not None:
-            if session_list:
-                session_info = session_list[session_name]
+        try:
+            if session_name is not None:
+                if session_list:
+                    session_info = session_list[session_name]
+                else:
+                    session_info = self.list_sessions()[session_name]
             else:
-                session_info = self.list_sessions()[session_name]
-        else:
-            session_info = None
+                session_info = None
+        except KeyError:
+            _success = False
 
         _terminal = self._terminal_backend(self,
                                            profile_name=self.profile_name,


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