[Python-checkins] peps: PEP 446: clarify the status of python 3.3 on Windows
victor.stinner
python-checkins at python.org
Sun Aug 11 22:08:49 CEST 2013
http://hg.python.org/peps/rev/f7ff2b1e3a74
changeset: 5051:f7ff2b1e3a74
user: Victor Stinner <victor.stinner at gmail.com>
date: Sun Aug 11 22:08:03 2013 +0200
summary:
PEP 446: clarify the status of python 3.3 on Windows
Be more explicit
files:
pep-0446.txt | 34 +++++++++++++++++++---------------
1 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/pep-0446.txt b/pep-0446.txt
--- a/pep-0446.txt
+++ b/pep-0446.txt
@@ -318,29 +318,31 @@
On Windows, the ``subprocess`` closes all handles and file descriptors
in the child process by default. If at least one standard stream (stdin,
stdout or stderr) is replaced (ex: redirected into a pipe), all
-inheritable handles are inherited in the child process.
+inheritable handles and file descriptors 0, 1 and 2 are inherited in the
+child process.
-All inheritable file descriptors are inherited by the child process
-using the functions of the ``os.execv*()`` and ``os.spawn*()`` families.
+Using the functions of the ``os.execv*()`` and ``os.spawn*()`` families,
+all inheritable handles and all inheritable file descriptors are
+inherited by the child process.
On UNIX, the ``multiprocessing`` module uses ``os.fork()`` and so all
file descriptors are inherited by child processes.
-On Windows, all inheritable handles are inherited by the child process
-using the ``multiprocessing`` module, all file descriptors except
-standard streams are closed.
+On Windows, all inheritable handles and file descriptors 0, 1 and 2 are
+inherited by the child process using the ``multiprocessing`` module, all
+file descriptors except standard streams are closed.
Summary:
-=========================== ============= ================== =============
-Module FD on UNIX Handles on Windows FD on Windows
-=========================== ============= ================== =============
-subprocess, default STD, pass_fds none STD
-subprocess, replace stdout STD, pass_fds all STD
-subprocess, close_fds=False all all STD
-multiprocessing all all STD
-os.execv(), os.spawn() all all all
-=========================== ============= ================== =============
+=========================== ================ ================== =============
+Module FD on UNIX Handles on Windows FD on Windows
+=========================== ================ ================== =============
+subprocess, default STD, pass_fds none STD
+subprocess, replace stdout STD, pass_fds all STD
+subprocess, close_fds=False all all STD
+multiprocessing (not applicable) all STD
+os.execv(), os.spawn() all all all
+=========================== ================ ================== =============
Legend:
@@ -351,6 +353,8 @@
inherited in the child process
* "pass_fds": file descriptors of the *pass_fds* parameter of the
subprocess are inherited
+* "(not applicable)": on UNIX, the multiprocessing uses ``fork()``,
+ so this case is not concerned by this PEP.
Performances of Closing All File Descriptors
--
Repository URL: http://hg.python.org/peps
More information about the Python-checkins
mailing list