diff options
author | Victor Stinner <vstinner@python.org> | 2020-04-01 16:49:29 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-01 16:49:29 (GMT) |
commit | 65a796e5272f61b42792d3a8c69686558c1872c5 (patch) | |
tree | 138d64a8dd04ab4d1cac2eb5c415aa10e0bbe00f /Lib/_bootsubprocess.py | |
parent | 5dd836030e0e399b21ab0865ae0d93934bdb3930 (diff) | |
download | cpython-65a796e5272f61b42792d3a8c69686558c1872c5.zip cpython-65a796e5272f61b42792d3a8c69686558c1872c5.tar.gz cpython-65a796e5272f61b42792d3a8c69686558c1872c5.tar.bz2 |
bpo-40094: Add os.waitstatus_to_exitcode() (GH-19201)
Add os.waitstatus_to_exitcode() function to convert a wait status to an
exitcode.
Suggest waitstatus_to_exitcode() usage in the documentation when
appropriate.
Use waitstatus_to_exitcode() in:
* multiprocessing, os, subprocess and _bootsubprocess modules;
* test.support.wait_process();
* setup.py: run_command();
* and many tests.
Diffstat (limited to 'Lib/_bootsubprocess.py')
-rw-r--r-- | Lib/_bootsubprocess.py | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/Lib/_bootsubprocess.py b/Lib/_bootsubprocess.py index 9c1912f..014782f 100644 --- a/Lib/_bootsubprocess.py +++ b/Lib/_bootsubprocess.py @@ -6,15 +6,6 @@ subprocess is unavailable. setup.py is not used on Windows. import os -def _waitstatus_to_exitcode(status): - if os.WIFEXITED(status): - return os.WEXITSTATUS(status) - elif os.WIFSIGNALED(status): - return -os.WTERMSIG(status) - else: - raise ValueError(f"invalid wait status: {status!r}") - - # distutils.spawn used by distutils.command.build_ext # calls subprocess.Popen().wait() class Popen: @@ -37,7 +28,7 @@ class Popen: else: # Parent process _, status = os.waitpid(pid, 0) - self.returncode = _waitstatus_to_exitcode(status) + self.returncode = os.waitstatus_to_exitcode(status) return self.returncode @@ -87,7 +78,7 @@ def check_output(cmd, **kwargs): try: # system() spawns a shell status = os.system(cmd) - exitcode = _waitstatus_to_exitcode(status) + exitcode = os.waitstatus_to_exitcode(status) if exitcode: raise ValueError(f"Command {cmd!r} returned non-zero " f"exit status {exitcode!r}") |