From 034ffa90b8dc60b2f7ceb805d9591fe30f7873a7 Mon Sep 17 00:00:00 2001 From: Gavin Ying Date: Sat, 6 Dec 2025 11:21:24 +0800 Subject: [PATCH] fix: guard mqtt cleanup on setup errors --- modpoll/main.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/modpoll/main.py b/modpoll/main.py index caf6d06..fc2b517 100644 --- a/modpoll/main.py +++ b/modpoll/main.py @@ -80,11 +80,22 @@ def app(name="modpoll"): logger.info("Connected to MQTT broker.") else: logger.error("Failed to connect with MQTT broker, exiting...") - mqtt_handler.close() + try: + mqtt_handler.close() + except Exception as close_err: + logger.debug( + f"Ignoring MQTT close error after failed connect: {close_err}" + ) exit(1) except Exception as e: logger.error(f"Error setting up MQTT input: {e}, exiting...") - mqtt_handler.close() + if mqtt_handler: + try: + mqtt_handler.close() + except Exception as close_err: + logger.debug( + f"Ignoring MQTT close error after setup exception: {close_err}" + ) exit(1) # setup modbus tasks