def _start(self): try: server = BaseTCPServer((self.interface, self.port), Handler) except socket.error as e: self.server = None self.info.notify_server_status_update("running", False) if e.errno in [13, 98]: # Permission denied or Address already in use raise InvalidAddress(str(e)) raise self.server = server server.signal = self.signal thread = threading.Thread(target=self.server.serve_forever, name="TCPServer Thread") thread.daemon = True thread.start() logger.info("IPC Server started on port %d" % self.server.socket.getsockname()[1]) self.info.notify_server_status_update("running", True) self.thread = thread