mirror of
https://github.com/tailscale/tailscale.git
synced 2025-01-05 23:07:44 +00:00
ipn/ipnlocal: avoid calling Start from resetForProfileChangeLockedOnEntry
During Shutdown of an ephemeral node, we called Logout (to best effort delete the node earlier), which then called back into resetForProfileChangeLockedOnEntry, which then tried to Start again. That's all a waste of work during shutdown and complicates other cleanups coming later. Updates #cleanup Change-Id: I0b8648cac492fc70fa97c4ebef919bbe352c5d7b Co-authored-by: Maisem Ali <maisem@tailscale.com> Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
9cbec4519b
commit
0c1e3ff625
@ -4930,6 +4930,13 @@ func (b *LocalBackend) initTKALocked() error {
|
||||
//
|
||||
// b.mu must held on entry. It is released on exit.
|
||||
func (b *LocalBackend) resetForProfileChangeLockedOnEntry() error {
|
||||
if b.shutdownCalled {
|
||||
// Prevent a call back to Start during Shutdown, which calls Logout for
|
||||
// ephemeral nodes, which can then call back here. But we're shutting
|
||||
// down, so no need to do any work.
|
||||
b.mu.Unlock()
|
||||
return nil
|
||||
}
|
||||
b.setNetMapLocked(nil) // Reset netmap.
|
||||
// Reset the NetworkMap in the engine
|
||||
b.e.SetNetworkMap(new(netmap.NetworkMap))
|
||||
|
Loading…
x
Reference in New Issue
Block a user