]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
u_boot_pylib: Ensure subprocess is closed down
authorSimon Glass <sjg@chromium.org>
Wed, 1 Nov 2023 17:17:50 +0000 (11:17 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 3 Nov 2023 02:38:01 +0000 (22:38 -0400)
It isn't clear why we need to have two different paths for closing down
the pipe. Unify them and use the Python to avoid this warning:

  subprocess.py:1127: ResourceWarning: subprocess 83531 is still running

Note that this code appears to originally have come from [1] and was
committed into the ChromeOS chromiumos/platform/crosutils repo in the
bin/cros_image_to_target.py file. The addition of the extra code path
came later, so that is chosen for the fixes tag.

[1] https://codereview.chromium.org/3391008

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: a10fd93cbc patman: Make command methods return a CommandResult
tools/u_boot_pylib/command.py

index 9bbfc5bdd832c9386165ddb9e807b8ac5906562c..bbe95d86122c6989b52a898c078124679c037463 100644 (file)
@@ -105,9 +105,7 @@ def run_pipe(pipe_list, infile=None, outfile=None,
                 last_pipe.communicate_filter(output_func))
         if result.stdout and oneline:
             result.output = result.stdout.rstrip(b'\r\n')
-        result.return_code = last_pipe.wait()
-    else:
-        result.return_code = os.waitpid(last_pipe.pid, 0)[1]
+    result.return_code = last_pipe.wait()
     if raise_on_error and result.return_code:
         raise Exception("Error running '%s'" % user_pipestr)
     return result.to_output(binary)