41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
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.""")
|