This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author sbt
Recipients Daniel.Goertzen, castironpi, christian.heimes, ggenellina, jnoller, sbt, tim.golden, vstinner
Date 2013-07-09.09:40:09
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1373362809.51.0.147627912832.issue4708@psf.upfronthosting.co.za>
In-reply-to
Content
> - 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.
History
Date User Action Args
2013-07-09 09:40:09sbtsetrecipients: + sbt, ggenellina, vstinner, christian.heimes, tim.golden, jnoller, castironpi, Daniel.Goertzen
2013-07-09 09:40:09sbtsetmessageid: <1373362809.51.0.147627912832.issue4708@psf.upfronthosting.co.za>
2013-07-09 09:40:09sbtlinkissue4708 messages
2013-07-09 09:40:09sbtcreate