def __init__(self, registry, address, authkey): assert type(authkey) is str self.registry = registry self.authkey = authkey # do authentication later self.listener = Listener(address=address, backlog=5) self.address = self.listener.address if type(self.address) is tuple: self.address = (socket.getfqdn(self.address[0]), self.address[1]) self.id_to_obj = {0: (None, ())} self.id_to_refcount = {} self.mutex = threading.RLock() self.stop = 0
def _getListener(): global _listener if _listener is None: _lock.acquire() try: if _listener is None: from processing.connection import Listener debug('starting listener and thread for sending handles') _listener = Listener(authenticate=True) t = threading.Thread(target=_serve) t.setDaemon(True) t.start() finally: _lock.release() return _listener