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 vstinner
Recipients amrith, gps, pitrou, r.david.murray, vstinner
Date 2014-08-02.00:24:27
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1406939067.8.0.285637823463.issue22114@psf.upfronthosting.co.za>
In-reply-to
Content
> By the definition of the (blocking) communicate API, communicate can only be called once (it feeds in all the input, and reads all the output).

Since Python 3.3, communicate() can now fail with TimeoutExpired. On UNIX, it looks like it's possible to call again communicate() in this case. On Windows, the implementation is different: stdin.write() doesn't use the timeout, so the write can hang longer than the timeout :-(

Use asyncio is you want reliable and efficient communicate() on all platforms ;-)
History
Date User Action Args
2014-08-02 00:24:27vstinnersetrecipients: + vstinner, pitrou, gps, r.david.murray, amrith
2014-08-02 00:24:27vstinnersetmessageid: <1406939067.8.0.285637823463.issue22114@psf.upfronthosting.co.za>
2014-08-02 00:24:27vstinnerlinkissue22114 messages
2014-08-02 00:24:27vstinnercreate