This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository python-x2go. commit d68f163ab9c2e00e20b35a1691230cd13e4188d1 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Wed Jul 2 22:53:13 2014 +0200 make the TeKi client startup once more more robust... --- x2go/telekinesis.py | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/x2go/telekinesis.py b/x2go/telekinesis.py index f14c4e7..74f6097 100644 --- a/x2go/telekinesis.py +++ b/x2go/telekinesis.py @@ -219,9 +219,6 @@ class X2GoTelekinesisClient(threading.Thread): self._keepalive = True self.tekiclient = None - if self.session_info is None or self.ssh_transport is None: - return None - try: os.makedirs(self.session_info.local_container) except OSError, e: @@ -249,31 +246,31 @@ class X2GoTelekinesisClient(threading.Thread): cmd_line = self._generate_cmdline() - if self.session_info and self.session_info.local_container: - self.tekiclient_log_stdout = open('%s/%s' % (self.session_info.local_container, self.tekiclient_log, ), 'a') - self.tekiclient_log_stderr = open('%s/%s' % (self.session_info.local_container, self.tekiclient_log, ), 'a') - self.logger('forking threaded subprocess: %s' % " ".join(cmd_line), loglevel=log.loglevel_DEBUG) + self.tekiclient_log_stdout = open('%s/%s' % (self.session_info.local_container, self.tekiclient_log, ), 'a') + self.tekiclient_log_stderr = open('%s/%s' % (self.session_info.local_container, self.tekiclient_log, ), 'a') + self.logger('forking threaded subprocess: %s' % " ".join(cmd_line), loglevel=log.loglevel_DEBUG) - while not self.tekiclient: - gevent.sleep(.2) - p = self.tekiclient = subprocess.Popen(cmd_line, - env=self.TEKICLIENT_ENV, - stdin=None, - stdout=self.tekiclient_log_stdout, - stderr=self.tekiclient_log_stderr, - shell=False) + while not self.tekiclient: + gevent.sleep(.2) + p = self.tekiclient = subprocess.Popen(cmd_line, + env=self.TEKICLIENT_ENV, + stdin=None, + stdout=self.tekiclient_log_stdout, + stderr=self.tekiclient_log_stderr, + shell=False) - while self._keepalive: - gevent.sleep(1) + while self._keepalive: + gevent.sleep(1) - try: - p.terminate() - self.logger('terminating Telekinesis client: %s' % p, loglevel=log.loglevel_DEBUG) - except OSError, e: - if e.errno == 3: - # No such process - pass + try: + p.terminate() + self.logger('terminating Telekinesis client: %s' % p, loglevel=log.loglevel_DEBUG) + except OSError, e: + if e.errno == 3: + # No such process + pass + # once all is over... self.tekiclient = None def _update_local_tekictrl_socket(self, port): @@ -304,6 +301,9 @@ class X2GoTelekinesisClient(threading.Thread): # set up Telekinesis data channel first... (via an SSHFS mount) self.logger('Connecting Telekinesis data channel first via SSHFS host=127.0.0.1, port=%s.' % (self.session_info.tekidata_port,), loglevel=log.loglevel_DEBUG) + if self.session_info is None or self.ssh_transport is None or not self.session_info.local_container: + return None, False + try: if self.ssh_transport.getpeername()[0] in ('::1', '127.0.0.1', 'localhost', 'localhost.localdomain'): self.local_tekidata_port += 10000 -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/python-x2go.git