How to use the multiprocess.util.register_after_fork function in multiprocess

To help you get started, we’ve selected a few multiprocess examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github uqfoundation / multiprocess / py3.2 / multiprocess / managers.py View on Github external
def __init__(self):
        util.register_after_fork(self, lambda obj: obj.clear())
    def __reduce__(self):
github uqfoundation / multiprocess / py3.1 / multiprocess / managers.py View on Github external
def __init__(self):
        util.register_after_fork(self, lambda obj: obj.clear())
    def __reduce__(self):
github uqfoundation / multiprocess / py3.1 / multiprocess / managers.py View on Github external
self._id = self._token.id
        self._manager = manager
        self._serializer = serializer
        self._Client = listener_client[serializer][1]

        if authkey is not None:
            self._authkey = AuthenticationString(authkey)
        elif self._manager is not None:
            self._authkey = self._manager._authkey
        else:
            self._authkey = current_process().authkey

        if incref:
            self._incref()

        util.register_after_fork(self, BaseProxy._after_fork)
github uqfoundation / multiprocess / py2.6 / multiprocess / reduction.py View on Github external
#
# Support for a per-process server thread which caches pickled handles
#

_cache = set()

def _reset(obj):
    global _lock, _listener, _cache
    for h in _cache:
        close(h)
    _cache.clear()
    _lock = threading.Lock()
    _listener = None

_reset(None)
register_after_fork(_reset, _reset)

def _get_listener():
    global _listener

    if _listener is None:
        _lock.acquire()
        try:
            if _listener is None:
                debug('starting listener and thread for sending handles')
                _listener = Listener(authkey=current_process().authkey)
                t = threading.Thread(target=_serve)
                t.daemon = True
                t.start()
        finally:
            _lock.release()
github uqfoundation / multiprocess / py2.7 / multiprocess / managers.py View on Github external
def __init__(self):
        util.register_after_fork(self, lambda obj: obj.clear())
    def __reduce__(self):
github uqfoundation / multiprocess / py3.3 / multiprocess / queues.py View on Github external
self._maxsize = maxsize
        self._reader, self._writer = Pipe(duplex=False)
        self._rlock = Lock()
        self._opid = os.getpid()
        if sys.platform == 'win32':
            self._wlock = None
        else:
            self._wlock = Lock()
        self._sem = BoundedSemaphore(maxsize)
        # For use by concurrent.futures
        self._ignore_epipe = False

        self._after_fork()

        if sys.platform != 'win32':
            register_after_fork(self, Queue._after_fork)
github uqfoundation / multiprocess / py3.3 / multiprocess / managers.py View on Github external
def __init__(self):
        util.register_after_fork(self, lambda obj: obj.clear())
    def __reduce__(self):
github uqfoundation / multiprocess / py3.1 / multiprocess / queues.py View on Github external
if maxsize <= 0:
            maxsize = _multiprocessing.SemLock.SEM_VALUE_MAX
        self._maxsize = maxsize
        self._reader, self._writer = Pipe(duplex=False)
        self._rlock = Lock()
        self._opid = os.getpid()
        if sys.platform == 'win32':
            self._wlock = None
        else:
            self._wlock = Lock()
        self._sem = BoundedSemaphore(maxsize)

        self._after_fork()

        if sys.platform != 'win32':
            register_after_fork(self, Queue._after_fork)
github uqfoundation / multiprocess / py3.1 / multiprocess / synchronize.py View on Github external
def __init__(self, kind, value, maxvalue):
        sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
        debug('created semlock with handle %s' % sl.handle)
        self._make_methods()

        if sys.platform != 'win32':
            def _after_fork(obj):
                obj._semlock._after_fork()
            register_after_fork(self, _after_fork)