From ae7a846ca859a96cc82336115d4d2ea55d943bc7 Mon Sep 17 00:00:00 2001 From: weise Date: Sat, 21 Mar 2026 18:41:59 +0100 Subject: [PATCH] added try-catch-block to avoid loop.add_signal_handler() under windows to make it usable under windows --- chamber_control.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/chamber_control.py b/chamber_control.py index c96c3ef..1f74eda 100644 --- a/chamber_control.py +++ b/chamber_control.py @@ -417,8 +417,17 @@ async def main(): c.check_connections() loop = asyncio.get_running_loop() - for sig in (signal.SIGINT, signal.SIGTERM): - loop.add_signal_handler(sig, c.stop) + try: + # Unix only + for sig in (signal.SIGINT, signal.SIGTERM): + loop.add_signal_handler(sig, c.stop) + except NotImplementedError: + # Windows Fallback + signal.signal(signal.SIGINT, lambda s, f: c.stop()) + try: + signal.signal(signal.SIGTERM, lambda s, f: c.stop()) + except (OSError, AttributeError): + pass # Run tasks try: