Revert "bpo-33929: multiprocessing: fix handle leak on race condition (GH-7921)" (GH-7963)
This reverts commit 8b1ebcd7cb3319273ea635df78ebf9ad40171514.
diff --git a/Lib/multiprocessing/spawn.py b/Lib/multiprocessing/spawn.py
index 2de4cb7..1f4f3f4 100644
--- a/Lib/multiprocessing/spawn.py
+++ b/Lib/multiprocessing/spawn.py
@@ -96,15 +96,7 @@
assert is_forking(sys.argv), "Not forking"
if sys.platform == 'win32':
import msvcrt
- import _winapi
-
- if parent_pid is not None:
- source_process = _winapi.OpenProcess(
- _winapi.PROCESS_DUP_HANDLE, False, parent_pid)
- else:
- source_process = None
- new_handle = reduction.duplicate(pipe_handle,
- source_process=source_process)
+ new_handle = reduction.steal_handle(parent_pid, pipe_handle)
fd = msvcrt.open_osfhandle(new_handle, os.O_RDONLY)
else:
from . import semaphore_tracker