From 3b9e0d4ff4b7c5756c1ae40768cb5077473e4b12 Mon Sep 17 00:00:00 2001 From: "Mathias L. Baumann" Date: Thu, 19 Jun 2025 16:02:17 +0200 Subject: [PATCH] select: Don't try selecting on a closed event loop Signed-off-by: Mathias L. Baumann --- src/frequenz/channels/_select.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/frequenz/channels/_select.py b/src/frequenz/channels/_select.py index ccd669eb..abc6ae19 100644 --- a/src/frequenz/channels/_select.py +++ b/src/frequenz/channels/_select.py @@ -430,6 +430,9 @@ async def select( # noqa: DOC503 receivers_map: dict[str, Receiver[Any]] = {str(hash(r)): r for r in receivers} pending: set[asyncio.Task[bool]] = set() + if asyncio.get_event_loop().is_closed(): + raise SelectError("Cannot select on a closed event loop") + try: for name, recv in receivers_map.items(): pending.add(asyncio.create_task(recv.ready(), name=name))