summaryrefslogtreecommitdiffstats
path: root/Lib/multiprocessing/popen.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/multiprocessing/popen.py')
-rw-r--r--Lib/multiprocessing/popen.py78
1 files changed, 0 insertions, 78 deletions
diff --git a/Lib/multiprocessing/popen.py b/Lib/multiprocessing/popen.py
deleted file mode 100644
index b0c80d5..0000000
--- a/Lib/multiprocessing/popen.py
+++ /dev/null
@@ -1,78 +0,0 @@
-import sys
-import threading
-
-__all__ = ['Popen', 'get_spawning_popen', 'set_spawning_popen',
- 'assert_spawning']
-
-#
-# Check that the current thread is spawning a child process
-#
-
-_tls = threading.local()
-
-def get_spawning_popen():
- return getattr(_tls, 'spawning_popen', None)
-
-def set_spawning_popen(popen):
- _tls.spawning_popen = popen
-
-def assert_spawning(obj):
- if get_spawning_popen() is None:
- raise RuntimeError(
- '%s objects should only be shared between processes'
- ' through inheritance' % type(obj).__name__
- )
-
-#
-#
-#
-
-_Popen = None
-
-def Popen(process_obj):
- if _Popen is None:
- set_start_method()
- return _Popen(process_obj)
-
-def get_start_method():
- if _Popen is None:
- set_start_method()
- return _Popen.method
-
-def set_start_method(meth=None, *, start_helpers=True):
- global _Popen
- try:
- modname = _method_to_module[meth]
- __import__(modname)
- except (KeyError, ImportError):
- raise ValueError('could not use start method %r' % meth)
- module = sys.modules[modname]
- if start_helpers:
- module.Popen.ensure_helpers_running()
- _Popen = module.Popen
-
-
-if sys.platform == 'win32':
-
- _method_to_module = {
- None: 'multiprocessing.popen_spawn_win32',
- 'spawn': 'multiprocessing.popen_spawn_win32',
- }
-
- def get_all_start_methods():
- return ['spawn']
-
-else:
- _method_to_module = {
- None: 'multiprocessing.popen_fork',
- 'fork': 'multiprocessing.popen_fork',
- 'spawn': 'multiprocessing.popen_spawn_posix',
- 'forkserver': 'multiprocessing.popen_forkserver',
- }
-
- def get_all_start_methods():
- from . import reduction
- if reduction.HAVE_SEND_HANDLE:
- return ['fork', 'spawn', 'forkserver']
- else:
- return ['fork', 'spawn']