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/ipn/ipnlocal
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
..
testdata ipn/ipnlocal: fix the path for writing cert files (#7203) 1 year ago
breaktcp_darwin.go cmd/tailscale: add debug commands to break connections 10 months ago
breaktcp_linux.go cmd/tailscale: add debug commands to break connections 10 months ago
c2n.go cmd/tailscale,ipn: add auto-update flags and prefs (#8861) 9 months ago
c2n_pprof.go tailcfg: move LogHeapPprof from Debug to c2n [capver 69] 10 months ago
cert.go all: use Go 1.21 slices, maps instead of x/exp/{slices,maps} 10 months ago
cert_js.go ipn/{ipnlocal,localapi}: actually renew certs before expiry (#8731) 11 months ago
cert_test.go all: use Go 1.21 slices, maps instead of x/exp/{slices,maps} 10 months ago
dnsconfig_test.go types/netmap, all: use read-only tailcfg.NodeView in NetworkMap 10 months ago
expiry.go types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 10 months ago
expiry_test.go types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 10 months ago
local.go ipn/ipnlocal: fix deadlock in resetControlClientLocked 9 months ago
local_test.go control/controlclient: remove unused StartLogout 9 months ago
loglines_test.go tsd: add package with System type to unify subsystem init, discovery 1 year ago
network-lock.go types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 10 months ago
network-lock_test.go ipn/ipnlocal: fix deadlock in resetControlClientLocked 9 months ago
peerapi.go types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 10 months ago
peerapi_h2c.go all: update copyright and license headers 1 year ago
peerapi_macios_ext.go all: update copyright and license headers 1 year ago
peerapi_test.go types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 10 months ago
profiles.go ipn/ipnlocal: fix missing mutex usage for profileManager 9 months ago
profiles_notwindows.go ipn/ipnlocal: fix profile duplication 10 months ago
profiles_test.go types/logger: add AsJSON 9 months ago
profiles_windows.go ipn/ipnlocal: add more logging during profile migration 1 year ago
serve.go cmd/tailscale: combine serve and funnel for debug wip funnel stream model (#9169) 9 months ago
serve_test.go types/netmap, all: make NetworkMap.SelfNode a tailcfg.NodeView 10 months ago
ssh.go all: use Go 1.21 slices, maps instead of x/exp/{slices,maps} 10 months ago
ssh_stub.go all: update copyright and license headers 1 year ago
ssh_test.go ipn/ipnlocal: drop not required StateKey parameter 1 year ago
state_test.go ipn/ipnlocal: fix deadlock in resetControlClientLocked 9 months ago