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 josh.r
Recipients and800, josh.r
Date 2018-11-07.20:20:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1541622051.04.0.788709270274.issue35182@psf.upfronthosting.co.za>
In-reply-to
Content
Hmm... Correction to my previous post. communicate itself has a test for:

"if self._communication_started and input:"

that raises an error if it passes, so the second call to communicate can only be passed None/empty input. And _communicate only explicitly closes self.stdin when input is falsy and _communication_started is False, so the required behavior right now is:

1. First call *may* pass input
2. Second call must not pass (non-empty) input under any circumstance

So I think we're actually okay on the code for stdin, but it would be a good idea to document that input *must* be None on all but the first call, and that the input passed to the first call is cached such that as long as at least one call to communicate completes without a TimeoutError (and the stdin isn't explicitly closed), it will all be sent.

Sorry for the noise; I should have rechecked communicate itself, not just _communicate.
History
Date User Action Args
2018-11-07 20:20:51josh.rsetrecipients: + josh.r, and800
2018-11-07 20:20:51josh.rsetmessageid: <1541622051.04.0.788709270274.issue35182@psf.upfronthosting.co.za>
2018-11-07 20:20:51josh.rlinkissue35182 messages
2018-11-07 20:20:50josh.rcreate