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 christian.heimes
Recipients christian.heimes, gvanrossum
Date 2007-12-13.02:25:02
SpamBayes Score 0.0066062165
Marked as misclassified No
Message-id <476097FC.5010902@cheimes.de>
In-reply-to <1197511984.94.0.17818764542.issue1606@psf.upfronthosting.co.za>
Content
Guido van Rossum wrote:
> Why not simply reverse the wait() and read() calls?

I don't think it is sufficient if the user uses more than one pipe. The
subprocess.communicate() and _communicate() methods are using threads
(Windows) or select (Unix) when multiple pipes for stdin, stderr and
stderr are involved.

The only safe way with multiple pipes is communicate([input]) unless the
process returns *lots* of data. The subprocess module is buffering the
data in memory if the user uses PIPE or STDIN.

The subprocess module also contains a XXX comment in the unix version of
_communicate()

   # XXX Rewrite these to use non-blocking I/O on the
   # file objects; they are no longer using C stdio!

Should I create another bug entry for it?

Christian
History
Date User Action Args
2007-12-13 02:25:03christian.heimessetspambayes_score: 0.00660622 -> 0.0066062165
recipients: + christian.heimes, gvanrossum
2007-12-13 02:25:02christian.heimeslinkissue1606 messages
2007-12-13 02:25:02christian.heimescreate