Revert 51758 because it broke all the buildbots
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index 7c229dc..5438f15 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -1000,10 +1000,14 @@
                     if errwrite:
                         os.dup2(errwrite, 2)
 
-                    # Close pipe fds.  Make sure we don't close the same
-                    # fd more than once, or standard fds.
-                    for fd in set((p2cread, c2pwrite, errwrite))-set((0,1,2)):
-                        if fd: os.close(fd)
+                    # Close pipe fds.  Make sure we doesn't close the same
+                    # fd more than once.
+                    if p2cread:
+                        os.close(p2cread)
+                    if c2pwrite and c2pwrite not in (p2cread,):
+                        os.close(c2pwrite)
+                    if errwrite and errwrite not in (p2cread, c2pwrite):
+                        os.close(errwrite)
 
                     # Close all other fds, if asked for
                     if close_fds: