issue7678 - Properly document how to replace a shell pipeline so that SIGPIPE
happens when the end exits before the beginning.
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index e08dc8e..bcd38de 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -519,8 +519,11 @@
==>
p1 = Popen(["dmesg"], stdout=PIPE)
p2 = Popen(["grep", "hda"], stdin=p1.stdout, stdout=PIPE)
+ p1.stdout.close() # Allow p1 to receive a SIGPIPE if p2 exits.
output = p2.communicate()[0]
+The p1.stdout.close() call after starting the p2 is important in order for p1
+to receive a SIGPIPE if p2 exits before p1.
Replacing :func:`os.system`
^^^^^^^^^^^^^^^^^^^^^^^^^^^