You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/control/controlclient
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>
9 months ago
..
auto.go ipn/ipnlocal: fix deadlock in resetControlClientLocked 9 months ago
client.go ipn/ipnlocal: fix deadlock in resetControlClientLocked 9 months ago
controlclient_test.go control/controlclient: clean up various things in prep for state overhaul 9 months ago
direct.go ipn/ipnlocal: fix deadlock in resetControlClientLocked 9 months ago
direct_test.go control/controlclient: add Auto.updateRoutine 10 months ago
map.go control/controlclient: convert PeersChanged nodes to patches internally 9 months ago
map_test.go types/logger: add AsJSON 9 months ago
noise.go control: use tstime instead of time (#8595) 10 months ago
noise_test.go control/controlclient: use dnscache.Resolver for Noise client 1 year ago
sign.go all: update copyright and license headers 1 year ago
sign_supported.go control: use tstime instead of time (#8595) 10 months ago
sign_supported_test.go all: update copyright and license headers 1 year ago
sign_unsupported.go all: update copyright and license headers 1 year ago
status.go all: implement AppendText alongside MarshalText (#9207) 9 months ago