[X2Go-Commits] [python-x2go] 03/03: Catch control session disconnects during session's run_command call.

git-admin at x2go.org git-admin at x2go.org
Wed Nov 12 06:17:03 CET 2014


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository python-x2go.

commit 6c6c3fa7fb919af0924d91adf10bb4806e3e1a37
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Wed Nov 12 06:16:40 2014 +0100

    Catch control session disconnects during session's run_command call.
---
 debian/changelog |    3 ++-
 x2go/session.py  |   16 ++++++++++++++--
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 02edb6f..f2f8d83 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,8 @@
 python-x2go (0.5.0.2-0x2go1) UNRELEASED; urgency=medium
 
   * New upstream version (0.5.0.2):
-    - Continue development...
+    - Catch control session disconnects during session's
+      run_command call.
   * debian/control:
     + Bump Standards: to 3.9.6. No changes needed.
     + Mention "client side printing support" in LONG_DESCRIPTION.
diff --git a/x2go/session.py b/x2go/session.py
index 22760e4..b0e1d84 100644
--- a/x2go/session.py
+++ b/x2go/session.py
@@ -1994,7 +1994,13 @@ class X2GoSession(object):
 
                 # only run the session startup command if we do not resume...
                 if _new_session:
-                    self.has_terminal_session() and self.terminal_session.run_command(env=self.session_environment)
+                    try:
+                        self.has_terminal_session() and self.terminal_session.run_command(env=self.session_environment)
+                    except x2go_exceptions.X2GoControlSessionException:
+                        self.logger('%s' % str(e), loglevel=log.loglevel_ERROR)
+                        self.HOOK_on_control_session_death()
+                        self._X2GoSession__disconnect()
+                        return False
 
                 self.virgin = False
                 self.suspended = False
@@ -2189,7 +2195,13 @@ class X2GoSession(object):
 
                 # shared desktop sessions get their startup command set by the control
                 # session, run this pre-set command now...
-                self.terminal_session.run_command(env=self.session_environment)
+                try:
+                    self.terminal_session.run_command(env=self.session_environment)
+                except x2go_exceptions.X2GoControlSessionException:
+                    self.logger('%s' % str(e), loglevel=log.loglevel_ERROR)
+                    self.HOOK_on_control_session_death()
+                    self._X2GoSession__disconnect()
+                    return False
 
                 self.virgin = False
                 self.suspended = False

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git


More information about the x2go-commits mailing list