12345678910111213141516171819202122232425262728293031323334353637383940 |
- from __future__ import absolute_import
-
- import sys
-
- supports_exec = True
-
- from .compat import _winapi as win32 # noqa
-
- if sys.platform.startswith("java"):
- _billiard = None
- else:
- try:
- import _billiard # noqa
- except ImportError:
- import _multiprocessing as _billiard # noqa
- supports_exec = False
- try:
- Connection = _billiard.Connection
- except AttributeError: # Py3
- from billiard.connection import Connection # noqa
-
- PipeConnection = getattr(_billiard, "PipeConnection", None)
-
-
- def ensure_multiprocessing():
- if _billiard is None:
- raise NotImplementedError("multiprocessing not supported")
-
-
- def ensure_SemLock():
- try:
- from _billiard import SemLock # noqa
- except ImportError:
- try:
- from _multiprocessing import SemLock # noqa
- except ImportError:
- raise ImportError("""\
- This platform lacks a functioning sem_open implementation, therefore,
- the required synchronization primitives needed will not function,
- see issue 3770.""")
|