From: Claudio-Daniel Freire Date: Tue, 19 Apr 2011 11:53:06 +0000 (+0200) Subject: Sync bugfix: wait for forwarder readiness when launching a client. X-Git-Tag: nepi_v2~147 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=211ef4d6e8685368eb1e29d0c2f941216b4012ed;p=nepi.git Sync bugfix: wait for forwarder readiness when launching a client. --- diff --git a/src/nepi/util/server.py b/src/nepi/util/server.py index 9136b90e..59ff9f31 100644 --- a/src/nepi/util/server.py +++ b/src/nepi/util/server.py @@ -282,13 +282,20 @@ class Client(object): if host != None: self._process = popen_ssh_subprocess(python_code, host, port, user, agent) + # popen_ssh_subprocess already waits for readiness else: self._process = subprocess.Popen( - ["python", "-c", python_code], + ["python", "-c", "import sys ; print >>sys.stderr, 'READY.' ; " + python_code], stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE ) + + # Wait for the forwarder to be ready, otherwise nobody + # will be able to connect to it + helo = self._process.stderr.readline() + assert helo == 'READY.\n' + if self._process.poll(): err = self._process.stderr.read() raise RuntimeError("Client could not be executed: %s" % \