mirror of
https://github.com/netbirdio/netbird.git
synced 2026-07-16 11:39:57 +00:00
The success path in handleResult left settled at 0, so drainLoser waited on a result that was already consumed and blocked forever, leaking a goroutine and the results channel on every successful race. Increment settled before stop() so drainLoser only waits for actual started losers.