Revert "ipn/ipnlocal: remove locks around sync.Cond.Broadcast call"
Reason for revert: Causes ipnlocal tests to deadlock intermittently.
This reverts commit 1b15349e01
.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
pull/2870/head
parent
a05086ef86
commit
b7ede14396
|
@ -601,12 +601,18 @@ func (b *LocalBackend) findExitNodeIDLocked(nm *netmap.NetworkMap) (prefsChanged
|
|||
func (b *LocalBackend) setWgengineStatus(s *wgengine.Status, err error) {
|
||||
if err != nil {
|
||||
b.logf("wgengine status error: %v", err)
|
||||
|
||||
b.statusLock.Lock()
|
||||
b.statusChanged.Broadcast()
|
||||
b.statusLock.Unlock()
|
||||
return
|
||||
}
|
||||
if s == nil {
|
||||
b.logf("[unexpected] non-error wgengine update with status=nil: %v", s)
|
||||
|
||||
b.statusLock.Lock()
|
||||
b.statusChanged.Broadcast()
|
||||
b.statusLock.Unlock()
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -626,7 +632,11 @@ func (b *LocalBackend) setWgengineStatus(s *wgengine.Status, err error) {
|
|||
}
|
||||
b.stateMachine()
|
||||
}
|
||||
|
||||
b.statusLock.Lock()
|
||||
b.statusChanged.Broadcast()
|
||||
b.statusLock.Unlock()
|
||||
|
||||
b.send(ipn.Notify{Engine: &es})
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue