When I proposed to add subprocess_shell/subprocess_exec I was keeping in 
mind http://bugs.python.org/issue7839 
Still think that copying suboptimal desing in new library is bad idea.

About None/PIPE as default for stdin, stdout and stderr.
None links to parent's standard streams, right?
Perhaps it's good for simple console script which executes some commands 
like sh/bash does. I assumed that behavior is not perfect for reactive 
systems with running event loop.
Say, if you don't need stderr so maybe DEVNULL is better?

Returning from create_subprocess_* some facade without public protocol 
method is good  idea. That object should look like subprocess transport 
with streams, not protocol -- as we have separate StreamReaderProtocol and 
StreamReader itself.

I'm ok with .returncode.
.poll() is not required, yield from proc.wait() should be enough.
The same for .communicate(), I this this method was invented to hide 
complexness of working with *blocking* stdstreams and contains 
micro-event-loop inside.

call()/check_call()/check_output() -- don't know.

Reply via email to