Merged revisions 72817 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r72817 | philip.jenvey | 2009-05-21 22:35:32 -0700 (Thu, 21 May 2009) | 4 lines
don't use subprocess.call with PIPEs as the child can fill the pipe buf and
deadlock. add a warning to subprocess docs about this, similar to Popen.wait's.
refs http://bugs.jython.org/issue1351
........
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index 7952f68..9853e62 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -152,6 +152,12 @@
retcode = call(["ls", "-l"])
+ .. warning::
+
+ Like :meth:`Popen.wait`, this will deadlock if the child process
+ generates enough output to a stdout or stderr pipe such that it blocks
+ waiting for the OS pipe buffer to accept more data.
+
.. function:: check_call(*popenargs, **kwargs)
@@ -164,6 +170,10 @@
check_call(["ls", "-l"])
+ .. warning::
+
+ See the warning for :func:`call`.
+
.. function:: check_output(*popenargs, **kwargs)