From 3838ed7e91fc911107103db888e5b4c9e52fdae4 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Wed, 26 Apr 2023 08:04:47 -0300 Subject: [PATCH] guard ping writes with the mutex. fixes https://github.com/nbd-wtf/go-nostr/issues/76#issuecomment-1521170395 --- relay.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/relay.go b/relay.go index 2d84d47..5cce0d1 100644 --- a/relay.go +++ b/relay.go @@ -119,7 +119,9 @@ func (r *Relay) Connect(ctx context.Context) error { for { select { case <-ticker.C: + conn.mutex.Lock() err := conn.socket.WriteMessage(websocket.PingMessage, nil) + conn.mutex.Unlock() if err != nil { InfoLogger.Printf("{%s} error writing ping: %v; closing websocket", r.URL, err) return