From ab9c0e8f13f0b8c723ce31612a7f04abc0e2f771 Mon Sep 17 00:00:00 2001
From: Chris Hines <chris.hines@monash.edu>
Date: Thu, 17 Sep 2020 16:17:55 +1000
Subject: [PATCH] blargal

---
 tes/sshwrapper/__init__.py | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/tes/sshwrapper/__init__.py b/tes/sshwrapper/__init__.py
index 2a0875a..383ab48 100644
--- a/tes/sshwrapper/__init__.py
+++ b/tes/sshwrapper/__init__.py
@@ -153,6 +153,16 @@ class Ssh:
             logger.debug("spanwed ssh mux with pid {}".format(ctrl_p.pid))
             #sess.pids.append(ctrl_p.pid)
             sess.ctrl_processes[ctrlsocket] = ctrl_p
+            DOUBLECHECK=True
+            if DOUBLECHECK:
+                import time
+                time.sleep(1)
+                ctrl_p.poll()
+                if ctrl_p.returncode != None:
+                    (stdout,stderr) = ctrl_p.communicate()
+                    logger.error('ctrl_p died {} {} {}'.format(ctrl_p.returncode,stdout,stderr))
+        else:
+            ctrl_p = sess.ctrl_processes[ctrlsocket]
         try:
             mode = os.stat(ctrlsocket).st_mode
         except FileNotFoundError:
@@ -171,14 +181,6 @@ class Ssh:
             (stdout,stderr) = ctrl_p.communicate()
             logger.error('control socket error {} {}'.format(stdout,stderr))
             raise SshCtrlException(error.decode())
-        DOUBLECHECK=True
-        if DOUBLECHECK:
-            import time
-            time.sleep(1)
-            ctrl_p.poll()
-            if ctrl_p.returncode != None:
-                (stdout,stderr) = ctrl_p.communicate()
-                logger.error('ctrl_p died {} {} {}'.format(ctrl_p.returncode,stdout,stderr))
 
         sess.lock.release()
         return ctrlsocket
-- 
GitLab