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 gregory.p.smith
Recipients Arfrever, asvetlov, cvrebert, ezio.melotti, gregory.p.smith, pitrou, python-dev, rosslagerwall, sarum9in, sbt, vstinner
Date 2013-12-02.04:02:25
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1385956946.01.0.996068172899.issue15798@psf.upfronthosting.co.za>
In-reply-to
Content
i went with the less invasive in terms of behavior change approach of making sure that the errpipe_write fd is always >= 3.  In Python 3.4 the code change was different and much simpler and on the Python only side as all fd's are opened O_CLOEXEC by default.

I'm not entirely sure why the test_multiprocessing_forkserver and test_multiprocessing_spawn failures happened on 3.4 with the earlier change that attempted to always list 0,1,2 in the fds_to_keep (derived from pass_fds) list so there _may_ be a bug lurking elsewhere there but I suspect the bug is actually that we don't always want to blindly list them in fds_to_keep as some programs may have reused some of them for other non-stdio purposes but still want them closed.

The change has been backported to the python-subprocess32 repo.
History
Date User Action Args
2013-12-02 04:02:26gregory.p.smithsetrecipients: + gregory.p.smith, pitrou, vstinner, ezio.melotti, Arfrever, cvrebert, asvetlov, rosslagerwall, python-dev, sbt, sarum9in
2013-12-02 04:02:26gregory.p.smithsetmessageid: <1385956946.01.0.996068172899.issue15798@psf.upfronthosting.co.za>
2013-12-02 04:02:25gregory.p.smithlinkissue15798 messages
2013-12-02 04:02:25gregory.p.smithcreate