MCPcopy Index your code
hub / github.com/RustPython/RustPython / start

Method start

Lib/multiprocessing/managers.py:538–579  ·  view source on GitHub ↗

Spawn a server process for this manager object

(self, initializer=None, initargs=())

Source from the content-addressed store, hash-verified

536 self._state.value = State.STARTED
537
538 def start(self, initializer=None, initargs=()):
539 '''
540 Spawn a server process for this manager object
541 '''
542 if self._state.value != State.INITIAL:
543 if self._state.value == State.STARTED:
544 raise ProcessError("Already started server")
545 elif self._state.value == State.SHUTDOWN:
546 raise ProcessError("Manager has shut down")
547 else:
548 raise ProcessError(
549 "Unknown state {!r}".format(self._state.value))
550
551 if initializer is not None and not callable(initializer):
552 raise TypeError('initializer must be a callable')
553
554 # pipe over which we will retrieve address of server
555 reader, writer = connection.Pipe(duplex=False)
556
557 # spawn process which runs a server
558 self._process = self._ctx.Process(
559 target=type(self)._run_server,
560 args=(self._registry, self._address, self._authkey,
561 self._serializer, writer, initializer, initargs),
562 )
563 ident = ':'.join(str(i) for i in self._process._identity)
564 self._process.name = type(self).__name__ + '-' + ident
565 self._process.start()
566
567 # get address of server
568 writer.close()
569 self._address = reader.recv()
570 reader.close()
571
572 # register a finalizer
573 self._state.value = State.STARTED
574 self.shutdown = util.Finalize(
575 self, type(self)._finalize_manager,
576 args=(self._process, self._address, self._authkey, self._state,
577 self._Client, self._shutdown_timeout),
578 exitpriority=0
579 )
580
581 @classmethod
582 def _run_server(cls, registry, address, authkey, serializer, writer,

Callers 1

__enter__Method · 0.95

Calls 9

ProcessErrorClass · 0.85
callableFunction · 0.85
strFunction · 0.85
PipeMethod · 0.80
formatMethod · 0.45
ProcessMethod · 0.45
joinMethod · 0.45
closeMethod · 0.45
recvMethod · 0.45

Tested by

no test coverage detected