Author vstinner
Recipients David.Benjamin, jcea, lemburg, pitrou, python-dev, vstinner
Date 2012-10-04.23:19:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <CAMpsgwYSDCRsSfOt3VQOS-_Xq3fpNws=+KSXS0FUFOpa4K_KWw@mail.gmail.com>
In-reply-to <1349391633.38.0.464745635747.issue16112@psf.upfronthosting.co.za>
Content
> Well, the theoretical deadlock's just if stdin is also a pipe, right?

If I remember correctly, the parent process (Python) and the child
process (file) can be blocked if the child is blocked in a blocking
write into a pipe (ex: stderr), whereas the pipe buffer is full (the
size of the buffer is usually 4096 bytes) and the parent is reading
all content of another pipe (ex: stdout). So it occurs if the process
uses more than 1 pipe for standard input/output streams. In the case
of platform, it looks like the issue cannot occur.

I always prefer communicate() because I consider it safer :-)

> Though it might be worth passing DEVNULL to stdin instead of inheriting, just to be tidy.

Yeah, maybe. As you want.
History
Date User Action Args
2012-10-04 23:19:43vstinnersetrecipients: + vstinner, lemburg, jcea, pitrou, python-dev, David.Benjamin
2012-10-04 23:19:43vstinnerlinkissue16112 messages
2012-10-04 23:19:42vstinnercreate