On Wed, Feb 24, 2016 at 5:11 AM, Dan Stromberg <drsali...@gmail.com> wrote:
> I'm seeing, in the nosepipe code:
>         # we use stdout for IPC, so block all other output
>         self._stream = sys.__stdout__
>
> I'm not sure using stdout/stdin for IPC is a great thing; a lot of
> tests write to stdout or stderr, whether intentionally or
> unintentionally.

Using standard streams for IPC is well recognized. If it's known in
advance, it shouldn't be a problem - writing to stdout/stderr would
simply result in a test failure.

> I'm attempting to replace the use of stdout/stdin with os.pipe(), but
> so far I'm not having much luck.  I get three write()'s, and then a
> hang.  So far, I'm ignoring the fact that os.read() and os.write()
> might split or aggregate chunks over a socket, since this is a
> socketpair communicating on the same machine.

Sounds like the buffer's full. You'll need to have another thread
reading before you start writing, to prevent that.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to