From 211ef4d6e8685368eb1e29d0c2f941216b4012ed Mon Sep 17 00:00:00 2001 From: Claudio-Daniel Freire Date: Tue, 19 Apr 2011 13:53:06 +0200 Subject: [PATCH] Sync bugfix: wait for forwarder readiness when launching a client. --- src/nepi/util/server.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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" % \ -- 2.47.0