From 618e7b085e11b86ac3b95577380b18f028f17117 Mon Sep 17 00:00:00 2001 From: Joachim Bauch Date: Mon, 7 Jun 2021 11:59:06 +0200 Subject: [PATCH] Fix potential race condition when closing message channel. --- client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client.go b/client.go index 8358d59..ddc179c 100644 --- a/client.go +++ b/client.go @@ -185,7 +185,6 @@ func (c *Client) Close() { c.closeChan <- true c.messagesDone.Wait() - close(c.messageChan) c.OnClosed(c) c.SetSession(nil) @@ -231,6 +230,7 @@ func (c *Client) SendMessage(message WritableClientMessage) bool { func (c *Client) ReadPump() { defer func() { c.Close() + close(c.messageChan) }() addr := c.RemoteAddr()