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