summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-04-25 12:30:16 (GMT)
committerGitHub <noreply@github.com>2019-04-25 12:30:16 (GMT)
commitd7befad328ad1a6d1f812be2bf154c1cd1e01fbc (patch)
tree3b00ea6e4ee4f40f732cbb8c1c3371db8e9fc6cb
parent0ef8c157e9195df0115c54ba875a5efb92ac22fb (diff)
downloadcpython-d7befad328ad1a6d1f812be2bf154c1cd1e01fbc.zip
cpython-d7befad328ad1a6d1f812be2bf154c1cd1e01fbc.tar.gz
cpython-d7befad328ad1a6d1f812be2bf154c1cd1e01fbc.tar.bz2
bpo-35537: Document posix_spawn() change in subprocess (GH-11668)
Document that subprocess.Popen no longer raise an exception on error like missing program on very specific platforms when using os.posix_spawn() is used.
-rw-r--r--Doc/library/subprocess.rst7
-rw-r--r--Doc/whatsnew/3.8.rst6
2 files changed, 13 insertions, 0 deletions
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index ca0813c..3280c95 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -567,6 +567,13 @@ functions.
Popen destructor now emits a :exc:`ResourceWarning` warning if the child
process is still running.
+ .. versionchanged:: 3.8
+ Popen can use :func:`os.posix_spawn` in some cases for better
+ performance. On Windows Subsystem for Linux and QEMU User Emulation,
+ Popen constructor using :func:`os.posix_spawn` no longer raise an
+ exception on errors like missing program, but the child process fails
+ with a non-zero :attr:`~Popen.returncode`.
+
Exceptions
^^^^^^^^^^
diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst
index ae8163a..344656b 100644
--- a/Doc/whatsnew/3.8.rst
+++ b/Doc/whatsnew/3.8.rst
@@ -729,6 +729,12 @@ Changes in Python behavior
Changes in the Python API
-------------------------
+* :class:`subprocess.Popen` can now use :func:`os.posix_spawn` in some cases
+ for better performance. On Windows Subsystem for Linux and QEMU User
+ Emulation, Popen constructor using :func:`os.posix_spawn` no longer raise an
+ exception on errors like missing program, but the child process fails with a
+ non-zero :attr:`~Popen.returncode`.
+
* The :meth:`imap.IMAP4.logout` method no longer ignores silently arbitrary
exceptions.