Browse Source

Run connect event handler asynchronously

Tulir Asokan 3 năm trước cách đây
mục cha
commit
1c49dd7e64
1 tập tin đã thay đổi với 3 bổ sung2 xóa
  1. 3 2
      mausignald/rpc.py

+ 3 - 2
mausignald/rpc.py

@@ -79,6 +79,7 @@ class SignaldRPCClient:
 
     async def _communicate(self) -> None:
         try:
+            self.log.debug(f"Connecting to {self.socket_path}...")
             self._reader, self._writer = await asyncio.open_unix_connection(
                 self.socket_path, limit=_SOCKET_LIMIT
             )
@@ -89,13 +90,13 @@ class SignaldRPCClient:
 
         read_loop = asyncio.create_task(self._try_read_loop())
         self.is_connected = True
-        await self._run_rpc_handler(CONNECT_EVENT, {})
+        asyncio.create_task(self._run_rpc_handler(CONNECT_EVENT, {}))
         self._connect_future.set_result(True)
 
         await read_loop
         self.is_connected = False
-        await self._run_rpc_handler(DISCONNECT_EVENT, {})
         self._connect_future = self.loop.create_future()
+        await self._run_rpc_handler(DISCONNECT_EVENT, {})
 
     async def disconnect(self) -> None:
         if self._writer is not None: