It looks like there were further cases where orphaned processes may be left behind since the .kill() calls may be unsuccessful if the process terminated due to the terminate or through normal exit. In that situation .wait() wouldn't have been called.
Further tweak the exit code paths to ensure .wait() is called to update the returncode value before returning in all cases. Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org> --- meta/lib/oeqa/core/target/ssh.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py index 72ed1adbf89..f22836d390a 100644 --- a/meta/lib/oeqa/core/target/ssh.py +++ b/meta/lib/oeqa/core/target/ssh.py @@ -265,7 +265,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 @@ -274,6 +273,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] @@ -288,10 +288,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, @@ -318,6 +318,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 -- 2.39.2
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#185050): https://lists.openembedded.org/g/openembedded-core/message/185050 Mute This Topic: https://lists.openembedded.org/mt/100424791/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-