[issue6457] subprocess.Popen.communicate can lose data from output/error streams when broken input pipe occures
Amaury Forgeot d'Arc
report at bugs.python.org
Mon Jul 13 10:28:58 CEST 2009
Amaury Forgeot d'Arc <amauryfa at gmail.com> added the comment:
Testing on Debian with latest trunk:
- the proposed example code works very well (I get all data).
- I added "subprocess._has_poll = False", and some (sometimes all) data
is lost. It seems that select() will return stdin even if it is not
writable.
On Windows of course, communicate() uses a blocking write, and always fail.
The proposed patch ignore the errors when EPIPE is raised, and simply
stops writing.
----------
keywords: +needs review, patch
nosy: +amaury.forgeotdarc
stage: -> patch review
Added file: http://bugs.python.org/file14493/broken_pipe.patch
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue6457>
_______________________________________
More information about the Python-bugs-list
mailing list