subprocess module and blocking
Robin Becker
robin at reportlab.com
Tue Jun 14 05:59:01 EDT 2005
Dieter Maurer wrote:
.....
>
> You just found out that this is not the case.
thanks I suppose I was being a moron.
>
> The warning attached to "communicate"s docstring might have
> you averted: "Note: the data read is buffered in memory...
> do not use for large size".
>
> If subprocess would do what you expect, it would need to
> buffer the output (to make room in the pipes again).
> But, for large data, this could have dramatic consequences.
>
> Thus, you should use "select" on the pipes to find out
> when to read data.
>
Unfortunately select isn't an option for windows (I think that's only for
sockets). I guess I need to read repeatedly from the stdout etc to get the
output. Clearly the poll call can't return a status until we've finished
reading.
>
> Dieter
--
Robin Becker
More information about the Python-list
mailing list