PEP 446: add section "Issues fixed in the subprocess module"

This commit is contained in:
Victor Stinner 2013-08-10 01:02:09 +02:00
parent 9174d4da7c
commit 4410f51ce3
1 changed files with 27 additions and 0 deletions

View File

@ -154,6 +154,33 @@ socket, a child process can accept new connections to read sensitive
data. data.
Issues fixed in the subprocess module
-------------------------------------
Inherited file descriptors caused 4 issues in the ``subprocess``
module:
* `Issue #2320: Race condition in subprocess using stdin
<http://bugs.python.org/issue2320>`_ (created in 2008)
* `Issue #3006: subprocess.Popen causes socket to remain open after
close <http://bugs.python.org/issue3006>`_ (created in 2008)
* `Issue #7213: subprocess leaks open file descriptors between Popen
instances causing hangs <http://bugs.python.org/issue7213>`_
(created in 2009)
* `Issue #12786: subprocess wait() hangs when stdin is closed
<http://bugs.python.org/issue12786>`_ (created in 2011)
These issues were fixed in Python 3.2 by 4 different changes in the
``subprocess`` module:
* Pipes are now non-inheritable ;
* The default value of the *close_fds* parameter is now ``True``,
with one exception on Windows: the default value is ``False`` if
at least one standard stream is replaced ;
* A new *pass_fds* parameter has been added ;
* Creation of a ``_posixsubprocess`` module implemented in C.
Atomic Creation of non-inheritable File Descriptors Atomic Creation of non-inheritable File Descriptors
--------------------------------------------------- ---------------------------------------------------