Message204990
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. |
|
Date |
User |
Action |
Args |
2013-12-02 04:02:26 | gregory.p.smith | set | recipients:
+ gregory.p.smith, pitrou, vstinner, ezio.melotti, Arfrever, cvrebert, asvetlov, rosslagerwall, python-dev, sbt, sarum9in |
2013-12-02 04:02:26 | gregory.p.smith | set | messageid: <1385956946.01.0.996068172899.issue15798@psf.upfronthosting.co.za> |
2013-12-02 04:02:25 | gregory.p.smith | link | issue15798 messages |
2013-12-02 04:02:25 | gregory.p.smith | create | |
|