def start(self): ''' Spawn a server process for this manager object ''' assert not self._started self._started = True self._registry, _ = BaseManager._getRegistryCreators(self) # pipe over which we will retreive address of server reader, writer = Pipe(duplex=False) # spawn process which runs a server self._process = Process( target=self._runServer, args=(self._registry, self._address, self._authkey, writer), ) ident = ':'.join(map(str, self._process._identity)) self._process.setName(type(self).__name__ + '-' + ident) self._process.setAuthKey(self._authkey) self._process.start() # get address of server writer.close() self._address = reader.recv() reader.close() # register a finalizer self.shutdown = Finalize(self, BaseManager._finalizeManager, args=(self._process, self._address, self._authkey), exitpriority=0)