summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-07-17 10:25:27 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-07-17 10:25:27 (GMT)
commitcc996b57890a251cef83101d5cfcbc58179cba5f (patch)
tree6e4192cd348196825f50ddc81dad99edbcd0902b /Doc
parent38bf87c7f285b9ad03feea765ddad9f607876591 (diff)
downloadcpython-cc996b57890a251cef83101d5cfcbc58179cba5f.zip
cpython-cc996b57890a251cef83101d5cfcbc58179cba5f.tar.gz
cpython-cc996b57890a251cef83101d5cfcbc58179cba5f.tar.bz2
asyncio, tulip issue 190: Process.communicate() must ignore BrokenPipeError
If you want to handle the BrokenPipeError, you can easily reimplement communicate(). Add also a unit test to ensure that stdin.write() + stdin.drain() raises BrokenPipeError.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/asyncio-subprocess.rst7
1 files changed, 7 insertions, 0 deletions
diff --git a/Doc/library/asyncio-subprocess.rst b/Doc/library/asyncio-subprocess.rst
index cba3aae..f0ffbf0 100644
--- a/Doc/library/asyncio-subprocess.rst
+++ b/Doc/library/asyncio-subprocess.rst
@@ -191,6 +191,10 @@ Process
process, or ``None``, if no data should be sent to the child. The type
of *input* must be bytes.
+ If a :exc:`BrokenPipeError` is raised when writing *input* into stdin,
+ the exception is ignored. It occurs when the process exits before all
+ data are written into stdin.
+
:meth:`communicate` returns a tuple ``(stdoutdata, stderrdata)``.
Note that if you want to send data to the process's stdin, you need to
@@ -205,6 +209,9 @@ Process
This method is a :ref:`coroutine <coroutine>`.
+ .. versionchanged:: 3.4.2
+ The method now ignores :exc:`BrokenPipeError`.
+
.. method:: kill()
Kills the child. On Posix OSs the function sends :py:data:`SIGKILL` to