Richard Oudkerk added the comment:

> - would improve POSIX compatibility, it mimics what os.pipe()
> does on those OS

I disagree.

On Windows fds can only be inherited if you start processes using the spanwn*() 
family of functions.  If you start them using CreateProcess() then the 
underlying *handles* are inherited, but the *fds* are not.

In Python 2, os.spawn*() used spawn*(), so making os.pipe() return inheritable 
fds would have made some sense.  But in Python 3 os.spawn*() is implemented 
using subprocess/CreateProcess so fds will NOT be inherited (even if the 
wrapped handles are).

Note that subprocess *does* know how to redirect the standard streams to fds 
returned by os.pipe().

So for Python 3 I don't think there is any point in changing things.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue4708>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to