| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # flake8: noqa: F401
- import sys
- import numbers
- if sys.platform == "win32":
- # Avoid import error by code introspection tools such as test runners
- # trying to import this module while running on non-Windows systems.
- # Compat Popen
- if sys.version_info[:2] >= (3, 4):
- from multiprocessing.popen_spawn_win32 import Popen
- else:
- from multiprocessing.forking import Popen
- # wait compat
- if sys.version_info[:2] < (3, 3):
- from ._win_wait import wait
- else:
- from multiprocessing.connection import wait
- # Compat _winapi
- if sys.version_info[:2] >= (3, 4):
- import _winapi
- else:
- import os
- import msvcrt
- if sys.version_info[:2] < (3, 3):
- import _subprocess as win_api
- from _multiprocessing import win32
- else:
- import _winapi as win_api
- class _winapi:
- CreateProcess = win_api.CreateProcess
- @staticmethod
- def CloseHandle(h):
- if isinstance(h, numbers.Integral):
- # Cast long to int for 64-bit Python 2.7 under Windows
- h = int(h)
- if sys.version_info[:2] < (3, 3):
- if not isinstance(h, int):
- h = h.Detach()
- win32.CloseHandle(h)
- else:
- win_api.CloseHandle(h)
|