Skip to content

Commit 3f10659

Browse files
committed
Wrapped c.requestQueue read in mutex lock
1 parent 65a27e6 commit 3f10659

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

handlers.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ func (c *Client) handleResponse() error {
3030

3131
switch messageType {
3232
case websocket.CloseMessage:
33+
log.Println("WS websocket.CloseMessage received")
3334
return nil
3435
case websocket.TextMessage:
3536
c.resolveStream(message)
@@ -73,14 +74,14 @@ func (c *Client) resolveStream(message []byte) {
7374

7475
case StreamResponseType(StreamTypeResponse):
7576
requestId := fmt.Sprintf("%v", m["id"])
77+
c.mutex.Lock()
7678
ch, ok := c.requestQueue[requestId]
7779
if ok {
78-
c.mutex.Lock()
7980
ch <- m
8081
delete(c.requestQueue, requestId)
8182
close(ch)
82-
c.mutex.Unlock()
8383
}
84+
c.mutex.Unlock()
8485

8586
default:
8687
c.StreamDefault <- message

0 commit comments

Comments
 (0)