ipn, control/controlclient: fix some data races

More remain.

Fixes tailscale/corp#432
pull/538/head
Brad Fitzpatrick 4 years ago
parent de875a4d87
commit a8b95571fb

@ -456,7 +456,7 @@ func (c *Direct) PollNetMap(ctx context.Context, maxPolls int, cb func(*NetworkM
persist := c.persist
serverURL := c.serverURL
serverKey := c.serverKey
hostinfo := c.hostinfo
hostinfo := c.hostinfo.Clone()
backendLogID := hostinfo.BackendLogID
localPort := c.localPort
ep := append([]string(nil), c.endpoints...)

@ -712,11 +712,12 @@ func (b *LocalBackend) SetPrefs(new *Prefs) {
newHi.Hostname = h
}
b.hostinfo = newHi
hostInfoChanged := !oldHi.Equal(newHi)
b.mu.Unlock()
b.logf("SetPrefs: %v", new.Pretty())
if old.ShieldsUp != new.ShieldsUp || !oldHi.Equal(newHi) {
if old.ShieldsUp != new.ShieldsUp || hostInfoChanged {
b.doSetHostinfoFilterServices(newHi)
}

Loading…
Cancel
Save