@@ -262,7 +262,6 @@ def SSHCall(command, logger, timeout=None, **opts):
time.sleep(5)
try:
process.kill()
- process.wait()
except OSError:
logger.debug('OSError when killing process')
pass
@@ -271,6 +270,7 @@ def SSHCall(command, logger, timeout=None, **opts):
" running time: %d seconds." % (timeout, endtime))
logger.debug('Received data from SSH call:\n%s ' % lastline)
output += lastline
+ process.wait()
else:
output_raw = process.communicate()[0]
@@ -285,10 +285,10 @@ def SSHCall(command, logger, timeout=None, **opts):
except TimeoutExpired:
try:
process.kill()
- process.wait()
except OSError:
logger.debug('OSError')
pass
+ process.wait()
options = {
"stdout": subprocess.PIPE,
@@ -315,6 +315,7 @@ def SSHCall(command, logger, timeout=None, **opts):
# whilst running and ensure we don't leave a process behind.
if process.poll() is None:
process.kill()
+ if process.returncode == None:
process.wait()
logger.debug('Something went wrong, killing SSH process')
raise