[X2Go-Commits] python-x2go.git - brokerclient (branch) updated: 0.0.39.0-91-g246d3fa

X2Go dev team git-admin at x2go.org
Tue Jan 7 16:20:18 CET 2014


The branch, brokerclient has been updated
       via  246d3fa0b51614d32cdf1ee0a4ce4e0046d12188 (commit)
      from  0667e657e0f773912766941a347e2bbdeec58926 (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:
 x2go/rforward.py |   19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

The diff of changes is:
diff --git a/x2go/rforward.py b/x2go/rforward.py
index 703a819..2f365fc 100644
--- a/x2go/rforward.py
+++ b/x2go/rforward.py
@@ -31,7 +31,7 @@ import gevent
 import paramiko
 
 # gevent/greenlet
-from gevent import select, socket
+from gevent import select, socket, Timeout
 from gevent import sleep as gevent_sleep
 
 # Python X2go modules
@@ -126,7 +126,18 @@ class X2goRevFwTunnel(threading.Thread):
 
     def __del__(self):
         self.stop_thread()
-        self.ssh_transport.cancel_port_forward('', self.server_port)
+        self.cancel_port_forward('', self.server_port)
+
+    def cancel_port_forward(self, address, port):
+
+        timeout = Timeout(10)
+        timeout.start()
+        try:
+            self.ssh_transport.cancel_port_forward('', self.server_port)
+        except:
+            pass
+        finally:
+            timeout.cancel()
 
     def pause(self):
         """\
@@ -136,7 +147,7 @@ class X2goRevFwTunnel(threading.Thread):
 
         """
         if self._accept_channels == True:
-            self.ssh_transport.cancel_port_forward('', self.server_port)
+            self.cancel_port_forward('', self.server_port)
             self._accept_channels = False
             self.logger('paused thread: %s' % repr(self), loglevel=log.loglevel_DEBUG)
 
@@ -184,7 +195,7 @@ class X2goRevFwTunnel(threading.Thread):
         except paramiko.SSHException:
             # if port forward request fails, we try to tell the server to cancel all foregoing port forward requests on 
             # self.server_port
-            self.ssh_transport.cancel_port_forward('', self.server_port)
+            self.cancel_port_forward('', self.server_port)
             gevent.sleep(1)
             try:
                 self._requested_port = self.ssh_transport.request_port_forward('', self.server_port, handler=x2go_transport_tcp_handler)


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