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:
parent
70861686d3
commit
f7bbdc31a0
3 changed files with 6 additions and 3 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue