Source code for wolframclient.utils.lock
from __future__ import absolute_import, print_function, unicode_literals
from wolframclient.utils.importutils import safe_import_string_and_call
try:
_lock = safe_import_string_and_call("multiprocessing.Lock")
def Lock():
return _lock
except (ImportError, OSError):
# JYTHON is raising an ImportError when running "import multiprocessing"
# GVisor is raising an OSError when running "multiprocessing.Lock()" because the feature is not implemented
import warnings
from contextlib import contextmanager
warnings.warn("Lock is not implemented in the current interpreter.", RuntimeWarning)
[docs]
@contextmanager
def Lock():
yield