From dd31a10749f04ffe17f39d8bc4e1d739327218f1 Mon Sep 17 00:00:00 2001 From: Nikolay Pavlovich Date: Fri, 12 Aug 2022 01:57:40 +0300 Subject: [PATCH] make Close more atomic --- recws.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/recws.go b/recws.go index 36ee7d7..5bd82b1 100644 --- a/recws.go +++ b/recws.go @@ -82,13 +82,12 @@ func (rc *RecConn) getConn() *websocket.Conn { // Close closes the underlying network connection without // sending or waiting for a close frame. func (rc *RecConn) Close() { - if rc.getConn() != nil { - rc.mu.Lock() + rc.mu.Lock() + if rc.Conn != nil { rc.Conn.Close() - rc.mu.Unlock() } - - rc.setIsConnected(false) + rc.isConnected = false + rc.mu.Unlock() } // Shutdown gracefully closes the connection by sending the websocket.CloseMessage.