def __main__(self, running, socket=None): if socket is not None: manager = Manager() bridge = Bridge(manager, socket=socket) self.register(manager) manager.start() try: self.run() finally: if socket is not None: while bridge or manager: pass manager.stop() bridge.stop()