device: fix data race in peer.timersActive
Found by the race detector and existing tests. To avoid introducing a lock into this hot path, calculate and cache whether any peers exist. Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
This commit is contained in:
committed by
Jason A. Donenfeld
parent
70861686d3
commit
f7bbdc31a0
@@ -125,6 +125,7 @@ func (device *Device) NewPeer(pk NoisePublicKey) (*Peer, error) {
|
||||
// add
|
||||
|
||||
device.peers.keyMap[pk] = peer
|
||||
device.peers.empty.Set(false)
|
||||
|
||||
// start peer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user