ipn/ipnlocal: add missing mutex unlock in error path
Found while debugging something else. Updates #cleanup Change-Id: I73fe55da14bcc3b1ffc39e2dbc0d077bc7f70cf1 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
47cf836720
commit
61ae16cb6f
|
@ -4933,16 +4933,19 @@ func (b *LocalBackend) initTKALocked() error {
|
|||
}
|
||||
|
||||
// resetForProfileChangeLockedOnEntry resets the backend for a profile change.
|
||||
//
|
||||
// b.mu must held on entry. It is released on exit.
|
||||
func (b *LocalBackend) resetForProfileChangeLockedOnEntry() error {
|
||||
b.setNetMapLocked(nil) // Reset netmap.
|
||||
// Reset the NetworkMap in the engine
|
||||
b.e.SetNetworkMap(new(netmap.NetworkMap))
|
||||
if err := b.initTKALocked(); err != nil {
|
||||
b.mu.Unlock()
|
||||
return err
|
||||
}
|
||||
b.lastServeConfJSON = mem.B(nil)
|
||||
b.serveConfig = ipn.ServeConfigView{}
|
||||
b.enterStateLockedOnEntry(ipn.NoState) // Reset state.
|
||||
b.enterStateLockedOnEntry(ipn.NoState) // Reset state; releases b.mu
|
||||
health.SetLocalLogConfigHealth(nil)
|
||||
return b.Start(ipn.Options{})
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue