commit 75c71528fa1dcae8f0e9b61d543f283c15cca6d6
parent 41db920dfc7261620d9c789e5d497fd41dec8bdf
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date: Wed, 14 May 2025 17:54:33 +0000
Disconnect rather than close clients obsolete after reload
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mqttagent.go b/mqttagent.go
@@ -406,7 +406,9 @@ func statePartialCleanup(staleL, keptL *lua.LState) {
tbl := value.(*lua.LTable)
client := staleL.RawGetInt(tbl, keyClient).(*lua.LUserData).Value.(*mqtt.Client)
close(staleL.RawGetInt(tbl, keyCloseSig).(*lua.LUserData).Value.(chan struct{}))
- client.Close()
+ if err := client.Disconnect(nil); err != nil {
+ log.Printf("cleanup stale client %s: %v", lua.LVAsString(key), err)
+ }
}
})