diff --git a/src/api/api.go b/src/api/api.go index 06443a1..bfcc689 100644 --- a/src/api/api.go +++ b/src/api/api.go @@ -531,10 +531,11 @@ func (a *Api) wsPing(ws *websocket.Conn, stop chan struct{}) { return case <-pingTicker.C: a.wsMutex.Lock() - defer a.wsMutex.Unlock() if err := ws.WriteMessage(websocket.PingMessage, []byte{}); err != nil { + a.wsMutex.Unlock() return } + a.wsMutex.Unlock() } } } diff --git a/src/client/jsonrpc2.go b/src/client/jsonrpc2.go index c572792..6df5c4b 100644 --- a/src/client/jsonrpc2.go +++ b/src/client/jsonrpc2.go @@ -229,14 +229,14 @@ func (r *JsonRpc2Client) GetReceiveChannel() (chan JsonRpc2ReceivedMessage, stri } r.receivedMessagesMutex.Lock() - defer r.receivedMessagesMutex.Unlock() r.receivedMessagesChannels[channelUuid.String()] = c + r.receivedMessagesMutex.Unlock() return c, channelUuid.String(), nil } func (r *JsonRpc2Client) RemoveReceiveChannel(channelUuid string) { r.receivedMessagesMutex.Lock() - defer r.receivedMessagesMutex.Unlock() delete(r.receivedMessagesChannels, channelUuid) + r.receivedMessagesMutex.Unlock() }