Explorar o código

Run connect event handler asynchronously

Tulir Asokan %!s(int64=3) %!d(string=hai) anos
pai
achega
1c49dd7e64
Modificáronse 1 ficheiros con 3 adicións e 2 borrados
  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: