mirror of
https://github.com/esphome/aioesphomeapi.git
synced 2025-03-13 13:39:28 +01:00
Fix leak if send_message_callback_response raises (#334)
This commit is contained in:
parent
96c1523eb6
commit
9d9d19a2c1
@ -441,7 +441,7 @@ class APIConnection:
|
||||
self._message_handlers.setdefault(msg_type, []).append(on_message)
|
||||
try:
|
||||
await self.send_message(send_msg)
|
||||
except asyncio.CancelledError:
|
||||
except (asyncio.CancelledError, Exception):
|
||||
for msg_type in msg_types:
|
||||
self._message_handlers[msg_type].remove(on_message)
|
||||
raise
|
||||
@ -498,8 +498,8 @@ class APIConnection:
|
||||
f"Timeout waiting for response for {type(send_msg)} after {timeout}s"
|
||||
) from err
|
||||
finally:
|
||||
with suppress(ValueError):
|
||||
for msg_type in msg_types:
|
||||
for msg_type in msg_types:
|
||||
with suppress(ValueError):
|
||||
self._message_handlers[msg_type].remove(on_message)
|
||||
with suppress(ValueError):
|
||||
self._read_exception_handlers.remove(on_read_exception)
|
||||
|
Loading…
Reference in New Issue
Block a user