mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 21:32:12 +02:00
target/ssh: Ensure exit code set for commands
As spotted by Joshua Watt, the returncode isn't set until .poll() or .wait() is called so we need to call this after the .kill() call. This fixes return code reporting so that timeouts for example now return an exit code when they didn't before. (From OE-Core rev: c70b05ea667e7bd280470b0b6ca10efb0f648e0f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 3924e94214b5135369be2551d54fb92097d35e95) Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
committed by
Steve Sakoman
parent
442b9fd244
commit
1efc676afc
@@ -262,6 +262,7 @@ def SSHCall(command, logger, timeout=None, **opts):
|
||||
time.sleep(5)
|
||||
try:
|
||||
process.kill()
|
||||
process.wait()
|
||||
except OSError:
|
||||
logger.debug('OSError when killing process')
|
||||
pass
|
||||
@@ -284,6 +285,7 @@ def SSHCall(command, logger, timeout=None, **opts):
|
||||
except TimeoutExpired:
|
||||
try:
|
||||
process.kill()
|
||||
process.wait()
|
||||
except OSError:
|
||||
logger.debug('OSError')
|
||||
pass
|
||||
@@ -313,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()
|
||||
process.wait()
|
||||
logger.debug('Something went wrong, killing SSH process')
|
||||
raise
|
||||
|
||||
|
||||
Reference in New Issue
Block a user