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>
1 year ago
..
auto.go ipn/ipnlocal: fix deadlock in resetControlClientLocked 1 year ago
client.go ipn/ipnlocal: fix deadlock in resetControlClientLocked 1 year ago
controlclient_test.go control/controlclient: clean up various things in prep for state overhaul 1 year ago
direct.go ipn/ipnlocal: fix deadlock in resetControlClientLocked 1 year ago
direct_test.go control/controlclient: add Auto.updateRoutine 1 year ago
map.go control/controlclient: convert PeersChanged nodes to patches internally 1 year ago
map_test.go types/logger: add AsJSON 1 year ago
noise.go control: use tstime instead of time (#8595) 1 year ago
noise_test.go control/controlclient: use dnscache.Resolver for Noise client 2 years ago
sign.go all: update copyright and license headers 2 years ago
sign_supported.go control: use tstime instead of time (#8595) 1 year ago
sign_supported_test.go all: update copyright and license headers 2 years ago
sign_unsupported.go all: update copyright and license headers 2 years ago
status.go all: implement AppendText alongside MarshalText (#9207) 1 year ago