mirror of
https://github.com/tailscale/tailscale.git
synced 2026-10-09 03:42:01 -04:00
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>