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