diff -r fa57e31fd4c2 asyncio/subprocess.py --- a/asyncio/subprocess.py Wed Oct 08 11:46:30 2014 -0700 +++ b/asyncio/subprocess.py Tue Oct 21 13:15:37 2014 -0700 @@ -41,15 +41,19 @@ def connection_made(self, transport): self._transport = transport - if transport.get_pipe_transport(1): + t1 = transport.get_pipe_transport(1) + if t1 is not None: self.stdout = streams.StreamReader(limit=self._limit, loop=self._loop) - if transport.get_pipe_transport(2): + self.stdout.set_transport(t1) + t2 = transport.get_pipe_transport(2) + if t2 is not None: self.stderr = streams.StreamReader(limit=self._limit, loop=self._loop) - stdin = transport.get_pipe_transport(0) - if stdin is not None: - self.stdin = streams.StreamWriter(stdin, + self.stderr.set_transport(t2) + t0 = transport.get_pipe_transport(0) + if t0 is not None: + self.stdin = streams.StreamWriter(t0, protocol=self, reader=None, loop=self._loop)