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: