Files
tailscale/control
Noah Ingwers 238d07c5f3 control/controlclient: allow cancellation during map retry backoff (#21133)
Auto.mapRoutine sleeps in BackOff with c.mu held after PollNetMap fails.
Pausing, restarting the map poll, and shutting down need the same mutex
to cancel that wait, so they can be delayed by the retry timer.

Release c.mu after updating inMapPoll and snapshotting paused. PollNetMap
waits for its map-session callbacks before returning, so accessing the
backoff here cannot race with UpdateFullNetmap resetting it.

Add a synctest regression that checks mutex availability during backoff
and verifies that pausing interrupts the wait without advancing time.

Fixes #21132

Change-Id: I2d5b5a71c5857be60507d4d6ec9e2e0fbd8cf40a
RELNOTE: Reduce pause and shutdown delays during control connection retries.

Signed-off-by: Noah Ingwers <98993329+noah-ing@users.noreply.github.com>
2026-09-30 12:15:02 -04:00
..