def __init__(self, target, link, name, args, kwargs): self.kind = type(self) self.pid = os.getpid() self.name = name if not self.name: self.name = "%s-%s" % (type(self).__name__, BaseProcess._next_index) self._index = BaseProcess._next_index BaseProcess._next_index += 1 self._linked = [] self._handlers = [] if link is not None: self._linked.append(link) self._queue = self._get_manager().Queue() self._error_dict = self._get_manager().dict({'error':None}) self._exit_filter = pattern.gen_filter((Exit,)) self.receive = Receiver(self._handlers) self._init_default_handlers() self._target = target self._args = args self._kwargs = kwargs self._finished = self._get_manager().Event()
def __init__(self, match): self.matches = gen_filter(match)
def _add_receiver(self, match, handler): assert handler is not None self._handlers.append((pattern.gen_filter(match), handler))
def _init_default_handlers(self): self._default_handlers = [ (pattern.gen_filter((Exit, Process)), self._exit_handler) ]