diff --git a/artiq/protocols/logging.py b/artiq/protocols/logging.py index 5c282549ac..542e8da352 100644 --- a/artiq/protocols/logging.py +++ b/artiq/protocols/logging.py @@ -168,6 +168,7 @@ def emit(self, record): self._queue.put_nowait(record.source + ":" + self.format(record)) async def _do(self): + reader = writer = None while True: try: reader, writer = await asyncio.open_connection(self.host, @@ -182,4 +183,5 @@ async def _do(self): except: await asyncio.sleep(self.reconnect_timer) finally: - writer.close() + if writer is not None: + writer.close() diff --git a/artiq/protocols/pc_rpc.py b/artiq/protocols/pc_rpc.py index d99ca06fb1..410cc89083 100644 --- a/artiq/protocols/pc_rpc.py +++ b/artiq/protocols/pc_rpc.py @@ -243,7 +243,8 @@ def close_rpc(self): No further method calls should be done after this method is called. """ - self.__writer.close() + if self.__writer is not None: + self.__writer.close() self.__reader = None self.__writer = None self.__target_names = None