diff options
| author | Andrew Lytvynov <awly@tailscale.com> | 2025-02-18 11:31:14 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-18 11:31:14 -0800 |
| commit | ec5f04b274c3b2be2887a5ba58a9309ed624d1ed (patch) | |
| tree | c2d2db091b44f2bd396690d1f8ff7ac2eed5ecf8 /control/controlhttp/controlhttpserver/controlhttpserver.go | |
| parent | 052eefbcceeb8a7df865c348aa9139a0a8cf64b1 (diff) | |
| download | tailscale-ec5f04b274c3b2be2887a5ba58a9309ed624d1ed.tar.xz tailscale-ec5f04b274c3b2be2887a5ba58a9309ed624d1ed.zip | |
appc: fix a deadlock in route advertisements (#15031)
`routeAdvertiser` is the `iplocal.LocalBackend`. Calls to
`Advertise/UnadvertiseRoute` end up calling `EditPrefs` which in turn
calls `authReconfig` which finally calls `readvertiseAppConnectorRoutes`
which calls `AppConnector.DomainRoutes` and gets stuck on a mutex that
was already held when `routeAdvertiser` was called.
Make all calls to `routeAdvertiser` in `app.AppConnector` go through the
execqueue instead as a short-term fix.
Updates tailscale/corp#25965
Signed-off-by: Andrew Lytvynov <awly@tailscale.com>
Co-authored-by: Irbe Krumina <irbe@tailscale.com>
Diffstat (limited to 'control/controlhttp/controlhttpserver/controlhttpserver.go')
0 files changed, 0 insertions, 0 deletions
