ipn, control/controlclient: fix some data races

More remain.

Fixes tailscale/corp#432
This commit is contained in:
Brad Fitzpatrick 2020-07-08 16:49:02 -07:00
parent de875a4d87
commit a8b95571fb
2 changed files with 3 additions and 2 deletions

View File

@ -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...)

View File

@ -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)
}