[New-bugs-announce] [issue12623] "universal newlines" subprocess support broken with select- and poll-based communicate()
Antoine Pitrou
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)
messages: 141014
nosy: gregory.p.smith, pitrou
priority: normal
severity: normal
stage: needs patch
status: open
title: "universal newlines" subprocess support broken with select- and poll-based communicate()
type: behavior
versions: Python 3.2, Python 3.3
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12623>
_______________________________________
More information about the New-bugs-announce
mailing list