From 2628735431fbab35241332c83fa8472ce0cfa328 Mon Sep 17 00:00:00 2001 From: Joachim Bauch Date: Mon, 7 Jun 2021 17:14:23 +0200 Subject: [PATCH] Send close message when explicitly closing client. --- client.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client.go b/client.go index 69695e0..943b465 100644 --- a/client.go +++ b/client.go @@ -184,6 +184,12 @@ func (c *Client) Close() { return } + c.mu.Lock() + if c.conn != nil { + c.conn.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, "")) // nolint + } + c.mu.Unlock() + if atomic.LoadUint32(&c.messageProcessing) == 1 { // Defer closing atomic.StoreUint32(&c.closed, 2)