summaryrefslogtreecommitdiffhomepage
path: root/control/controlhttp/controlhttpserver/controlhttpserver.go
diff options
context:
space:
mode:
authorNick Khyl <nickk@tailscale.com>2025-01-15 16:03:21 -0600
committerNick Khyl <1761190+nickkhyl@users.noreply.github.com>2025-01-15 16:57:09 -0600
commit0481042738b6320fd328cfcd4998bdaae1c93534 (patch)
treed7e3711faba27f96994e9cf0754c6a1e7b95f42c /control/controlhttp/controlhttpserver/controlhttpserver.go
parent62fb85785710f9249e943eb8f248facf28eda6f7 (diff)
downloadtailscale-0481042738b6320fd328cfcd4998bdaae1c93534.tar.xz
tailscale-0481042738b6320fd328cfcd4998bdaae1c93534.zip
ipn/ipnserver: fix a deadlock in (*Server).blockWhileIdentityInUse
If the server was in use at the time of the initial check, but disconnected and was removed from the activeReqs map by the time we registered a waiter, the ready channel will never be closed, resulting in a deadlock. To avoid this, we check whether the server is still busy after registering the wait. Fixes #14655 Signed-off-by: Nick Khyl <nickk@tailscale.com>
Diffstat (limited to 'control/controlhttp/controlhttpserver/controlhttpserver.go')
0 files changed, 0 insertions, 0 deletions