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