Explicitly wait for the child instead of letting a destructor do it.
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index b1588e0..8aa436e 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -1966,7 +1966,7 @@
import subprocess, sys
subprocess.Popen([sys.executable, {fd_status!r}] +
[str(x) for x in range({max_fd})],
- close_fds=True)
+ close_fds=True).wait()
""".format(fd_status=fd_status, max_fd=max_fd_open+1))],
stdout=subprocess.PIPE, close_fds=False)
finally: