You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/cmd/tailscaled
M. J. Fromberger 95426b79a9
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>
1 month ago
..
childproc all: update copyright and license headers 3 years ago
tailscaledhooks feature/taildrop, ipn/ipnlocal: remove leftover dup calls to osshare 7 months ago
debug.go feature/featuretags: make usermetrics modular 2 months ago
debug_forcereflect.go cmd/tailscaled: add disabled debug file to force reflect for binary size experiments 3 months ago
depaware-min.txt health: compare warnable codes to avoid errors on release branch (#17637) 1 month ago
depaware-minbox.txt cmd/tailscale/cli,feature: add support for identity federation (#17529) 2 months ago
depaware.txt logtail: avoid racing eventbus subscriptions with shutdown (#17695) 1 month ago
deps_test.go cmd/tailscale/cli,feature: add support for identity federation (#17529) 2 months ago
flag.go cmd/tailscaled: default --encrypt-state to true if TPM is available (#17376) 2 months ago
generate.go cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 3 years ago
install_darwin.go all: update copyright and license headers 3 years ago
install_windows.go util/backoff: rename logtail/backoff package to util/backoff 2 months ago
manifest_windows_386.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
manifest_windows_amd64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
manifest_windows_arm64.syso cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
netstack.go cmd/tailscaled: start implementing ts_omit_netstack 2 months ago
proxy.go feature, net/tshttpproxy: pull out support for using proxies as a feature 2 months ago
required_version.go all: switch to and require Go 1.23 1 year ago
sigpipe.go all: adjust some build tags for plan9 2 years ago
ssh.go ssh/tailssh: add Plan 9 support for Tailscale SSH 8 months ago
tailscaled.defaults cmd/tailscaled: rename relaynode reference in defaults file comment 6 years ago
tailscaled.go types/persist: add AttestationKey (#17281) 2 months ago
tailscaled.openrc tstest/integration/vms: use an in-process logcatcher (#2360) 4 years ago
tailscaled.service cmd/tailscaled: move cleanup to an implicit action during startup 2 years ago
tailscaled_bird.go all: update copyright and license headers 3 years ago
tailscaled_drive.go feature/drive: start factoring out Taildrive, add ts_omit_drive build tag 3 months ago
tailscaled_notwindows.go all: update copyright and license headers 3 years ago
tailscaled_test.go control/controlclient,tempfork/httprec: don't link httptest, test certs for c2n 10 months ago
tailscaled_windows.go feature/logtail: pull logtail + netlog out to modular features 2 months ago
webclient.go derp/derpserver: split off derp.Server out of derp into its own package 2 months ago
windows-manifest.xml cmd/{tailscale,tailscaled}: embed manifest into Windows binaries 3 years ago
with_cli.go all: update copyright and license headers 3 years ago