Release all pending WebSocket calls on connection close (#3401)

This commit is contained in:
Stefan Agner
2022-01-11 13:18:49 +01:00
committed by GitHub
parent 603d19b075
commit 8071b107e7

View File

@@ -51,6 +51,12 @@ class WSClient:
async def close(self) -> None:
"""Close down the client."""
for future in self._futures.values():
if not future.done():
future.set_exception(
HomeAssistantWSConnectionError("Connection was closed")
)
if not self._client.closed:
await self._client.close()
@@ -234,6 +240,7 @@ class HomeAssistantWebSocket(CoreSysAttributes):
except HomeAssistantWSConnectionError:
await self._client.close()
self._client = None
raise
async def async_supervisor_update_event(
self,