diff --git a/monitor/mqtt_monitor.go b/monitor/mqtt_monitor.go index 94c4b53..7d89c67 100644 --- a/monitor/mqtt_monitor.go +++ b/monitor/mqtt_monitor.go @@ -194,9 +194,11 @@ func (mms *MqttMonitor) MqttMsgHandler(_ mqtt.Client, msg mqtt.Message) { func (mms *MqttMonitor) onConnectionLost(_ mqtt.Client, err error) { log.Println("[app] [Monitor] Connection lost: " + err.Error()) // Handle connection loss here (e.g., reconnect attempts, logging) - mms.lostConnectionMutex.Lock() - mms.lostConnection = true - mms.lostConnectionMutex.Unlock() + if !mms.IsTerminated() { + mms.lostConnectionMutex.Lock() + mms.lostConnection = true + mms.lostConnectionMutex.Unlock() + } } func (mms *MqttMonitor) MonitorActiveParticipants() {