tailscale/control
Maisem Ali d06a75dcd0 ipn/ipnlocal: fix deadlock in resetControlClientLocked
resetControlClientLocked is called while b.mu was held and
would call cc.Shutdown which would wait for the observer queue
to drain.
However, there may be active callbacks from cc already waiting for
b.mu resulting in a deadlock.

This makes it so that resetControlClientLocked does not call
Shutdown, and instead just returns the value.
It also makes it so that any status received from previous cc
are ignored.

Updates tailscale/corp#12827

Signed-off-by: Maisem Ali <maisem@tailscale.com>
2023-09-02 13:47:32 -07:00
..
controlbase various: add golangci-lint, fix issues (#7905) 2023-04-17 18:38:24 -04:00
controlclient ipn/ipnlocal: fix deadlock in resetControlClientLocked 2023-09-02 13:47:32 -07:00
controlhttp net/wsconn: accept a remote addr string and plumb it through 2023-08-29 16:57:16 -07:00
controlknobs all: update copyright and license headers 2023-01-27 15:36:29 -08:00