summaryrefslogtreecommitdiffhomepage
path: root/control/controlhttp/controlhttpserver/controlhttpserver.go
diff options
context:
space:
mode:
authorM. J. Fromberger <fromberger@tailscale.com>2025-10-30 08:18:32 -0700
committerGitHub <noreply@github.com>2025-10-30 08:18:32 -0700
commit95426b79a9b102c9224cebbdab170033b65ddd08 (patch)
treeda9bd9cbf08fe42fbc599357db8dc5c879776705 /control/controlhttp/controlhttpserver/controlhttpserver.go
parentd68513b0dbe352ca03165be35ebc5edd626ac83e (diff)
downloadtailscale-95426b79a9b102c9224cebbdab170033b65ddd08.tar.xz
tailscale-95426b79a9b102c9224cebbdab170033b65ddd08.zip
logtail: avoid racing eventbus subscriptions with shutdown (#17695)
In #17639 we moved the subscription into NewLogger to ensure we would not race subscribing with shutdown of the eventbus client. Doing so fixed that problem, but exposed another: As we were only servicing events occasionally when waiting for the network to come up, we could leave the eventbus to stall in cases where a number of network deltas arrived later and weren't processed. To address that, let's separate the concerns: As before, we'll Subscribe early to avoid conflicts with shutdown; but instead of using the subscriber directly to determine readiness, we'll keep track of the last-known network state in a selectable condition that the subscriber updates for us. When we want to wait, we'll wait on that condition (or until our context ends), ensuring all the events get processed in a timely manner. Updates #17638 Updates #15160 Change-Id: I28339a372be4ab24be46e2834a218874c33a0d2d Signed-off-by: M. J. Fromberger <fromberger@tailscale.com>
Diffstat (limited to 'control/controlhttp/controlhttpserver/controlhttpserver.go')
0 files changed, 0 insertions, 0 deletions