homepage

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 martin.panter
Recipients martin.panter, neologix, serhiy.storchaka, vstinner
Date 2015年03月08日.02:11:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1425780686.99.0.902693824683.issue23570@psf.upfronthosting.co.za>
In-reply-to
Content
After understanding the Windows test failure in Issue 21619, I am starting to believe that code relying on a BrokenPipeError or EPIPE is flawed. It is an inherent unavoidable race condition with the receiving end of the pipe, as long as another thread or process is involved, which is always the case for the subprocess module. Another way of looking at it is that there is no guarantee that your data will have been (or will be) received, even if stdin.close() succeeds and does not raise EPIPE or similar. This is because piped data is buffered by the OS.
So the proposed change wouldn’t be a significant disadvantage, except for code that is already flawed. It is analogous to the argument used for ignoring EINTR, because depending on it for handling signals is inherently racy.
History
Date User Action Args
2015年03月08日 02:11:27martin.pantersetrecipients: + martin.panter, vstinner, neologix, serhiy.storchaka
2015年03月08日 02:11:26martin.pantersetmessageid: <1425780686.99.0.902693824683.issue23570@psf.upfronthosting.co.za>
2015年03月08日 02:11:26martin.panterlinkissue23570 messages
2015年03月08日 02:11:26martin.pantercreate

AltStyle によって変換されたページ (->オリジナル) /