[New-bugs-announce] [issue12623] "universal newlines" subprocess support broken with select- and poll-based communicate()
report at bugs.python.org
Sat Jul 23 22:11:33 CEST 2011
New submission from Antoine Pitrou <pitrou at free.fr>:
The select() and poll() loop implementations of Popen.communicate() call os.write() instead of the write() method on the stdin pipe, meaning any newline translation *and* unicode-to-bytes encoding step is skipped.
To use the write() method on the stdin pipe, we may have to set the file descriptor in non-blocking mode, especially given that _PIPE_BUF worth of characters can amount to more than _PIPE_BUF bytes on the underlying raw fd.
See issue12591 for a simpler issue that was fixed.
components: Library (Lib)
nosy: gregory.p.smith, pitrou
stage: needs patch
title: "universal newlines" subprocess support broken with select- and poll-based communicate()
versions: Python 3.2, Python 3.3
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce