* add a new example using transport and protocol
* rewrite the example using streams to make it much simpler (remove error
handling, use a simpler Python code)
* copy (and adapt) more documentation from the subprocess module:
- add a note about Process.wait() deadlock
- add a note about shell injection
- etc.
* sort Process methods and attributes in the same order than subprocess.Popen
methods and attributes, so the documentation looks closer
* list differences between Process and subprocess.Popen APIs
This was perhaps on the border between a bug fix and a feature since
the Python3 docs did not originally say it was unix only. However, the
functions never worked anywhere but unix, and the docs were changed to
say it was unix only well before the windows support was added.
Unfortunately, windows support was added in 3.3.4 as well as 3.4.
That leaves us in the uncomfortable position of needing the tag to say
"version changed: 3.3.4" :(
This was perhaps on the border between a bug fix and a feature since
the Python3 docs did not originally say it was unix only. However, the
functions never worked anywhere but unix, and the docs were changed to
say it was unix only well before the windows support was added.
Unfortunately, windows support was added in 3.3.4 as well as 3.4.
That leaves us in the uncomfortable position of needing the tag to say
"version changed: 3.3.4" :(
The documentation does mention that the streams are opened in text mode
when univeral_newlines is true, but not that that they are opened in
binary mode when that argument is false and that seems to confuse at
least some users.
The documentation does mention that the streams are opened in text mode
when univeral_newlines is true, but not that that they are opened in
binary mode when that argument is false and that seems to confuse at
least some users.
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.