diff --git a/pi_mqtt_gpio/server.py b/pi_mqtt_gpio/server.py index d194b4b632293c7d4ae7cf1a7cc7cfb5382f2208..7070501125b16b7bc142131caf48d0fd817749de 100644 --- a/pi_mqtt_gpio/server.py +++ b/pi_mqtt_gpio/server.py @@ -504,8 +504,11 @@ if __name__ == "__main__": client.publish( "%s/%s" % (topic_prefix, config["mqtt"]["status_topic"]), config["mqtt"]["status_payload_stopped"], qos=1, retain=True) - # This should also quit the mqtt loop thread. + + client.loop_stop() client.disconnect() + client.loop_forever() + for name, gpio in GPIO_MODULES.items(): if not GPIO_CONFIGS[name]["cleanup"]: _LOG.info("Cleanup disabled for module %r.", name)