lnrpc: fix websocket proxy data race
Was discovered in a race unit test in lightning node connect that uses the websocket proxy to connect to the hashmail server on the client side. By not shadowing the err variable we end up reading and writing to the same variable from two different goroutines, which causes the data race.
This commit is contained in:
1 file changed
+2
-2
@@ -253,7 +253,7 @@ func (p *WebsocketProxy) upgradeToWebSocketProxy(w http.ResponseWriter,
|
||||
payload = newPayload
|
||||
}
|
||||
|
||||
_, err = requestForwarder.Write(payload)
|
||||
_, err := requestForwarder.Write(payload)
|
||||
if err != nil {
|
||||
p.logger.Errorf("WS: error writing message "+
|
||||
"to upstream http server: %v", err)
|
||||
@@ -338,7 +338,7 @@ func (p *WebsocketProxy) upgradeToWebSocketProxy(w http.ResponseWriter,
|
||||
continue
|
||||
}
|
||||
|
||||
err = conn.WriteMessage(
|
||||
err := conn.WriteMessage(
|
||||
websocket.TextMessage, responseForwarder.Bytes(),
|
||||
)
|
||||
if err != nil {
|
||||
|
||||
Reference in new issue
Block a user