diff --git a/client.go b/client.go index e7b33eb..135075d 100644 --- a/client.go +++ b/client.go @@ -453,11 +453,11 @@ func (c *client) attemptConnection() (net.Conn, byte, bool, error) { // `SetAutoReconnect` and/or `SetConnectRetry`options instead of implementing this yourself. func (c *client) Disconnect(quiesce uint) { defer c.disconnect() + c.setConnected(disconnected) status := atomic.LoadUint32(&c.status) if status == connected { DEBUG.Println(CLI, "disconnecting") - c.setConnected(disconnected) dm := packets.NewControlPacket(packets.Disconnect).(*packets.DisconnectPacket) dt := newToken(packets.Disconnect) @@ -479,7 +479,6 @@ func (c *client) Disconnect(quiesce uint) { } } else { WARN.Println(CLI, "Disconnect() called but not connected (disconnected/reconnecting)") - c.setConnected(disconnected) } }