]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix race in webtorrent dial stats
authorMatt Joiner <anacrolix@gmail.com>
Wed, 12 May 2021 04:26:45 +0000 (14:26 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Fri, 14 May 2021 05:42:25 +0000 (15:42 +1000)
webtorrent/tracker_client.go

index 4d2ae4991624e6989d84028ffaf0827d8db642af..7972fb08beb7ca751762bd932c9b0e88364447cb 100644 (file)
@@ -67,7 +67,9 @@ type onDataChannelOpen func(_ datachannel.ReadWriteCloser, dcc DataChannelContex
 
 func (tc *TrackerClient) doWebsocket() error {
        metrics.Add("websocket dials", 1)
+       tc.mu.Lock()
        tc.stats.Dials++
+       tc.mu.Unlock()
        c, _, err := websocket.DefaultDialer.Dial(tc.Url, nil)
        if err != nil {
                return fmt.Errorf("dialing tracker: %w", err)