tailscale/ipn
Tom DNetto a515fc517b ipn/ipnlocal: make tkaSyncIfNeeded exclusive with a mutex
Running corp/ipn#TestNetworkLockE2E has a 1/300 chance of failing, and
deskchecking suggests thats whats happening are two netmaps are racing each
other to be processed through tkaSyncIfNeededLocked. This happens in the
first place because we release b.mu during network RPCs.

To fix this, we make the tka sync logic an exclusive section, so two
netmaps will need to wait for tka sync to complete serially (which is what
we would want anyway, as the second run through probably wont need to
sync).

Signed-off-by: Tom DNetto <tom@tailscale.com>
2022-10-14 12:42:43 -07:00
..
ipnlocal ipn/ipnlocal: make tkaSyncIfNeeded exclusive with a mutex 2022-10-14 12:42:43 -07:00
ipnserver all: fix spelling mistakes 2022-09-29 13:36:13 -07:00
ipnstate cmd/tailscale: add emoji for illumos in status subcommand 2022-08-28 08:29:31 -07:00
localapi ipn/localapi: put all the LocalAPI methods into a map 2022-10-09 18:05:55 -07:00
policy ipn/policy: treat DNS service as interesting so it's not filtered out 2021-12-03 12:55:54 -08:00
store refactor: move from io/ioutil to io and os packages 2022-09-15 21:45:53 -07:00
backend.go wgengine/magicsock: make debug-level stuff not logged by default 2022-10-04 11:05:50 -07:00
doc.go Move Linux client & common packages into a public repo. 2020-02-09 09:32:57 -08:00
fake_test.go ipn/ipnlocal: move Ping method from IPN bus to LocalBackend (HTTP) 2022-05-03 15:59:19 -07:00
handle.go all: convert more code to use net/netip directly 2022-07-25 21:53:49 -07:00
ipn_clone.go cmd/tailscale/cli: add backwards compatibility 'up' processing for legacy client 2022-09-01 14:21:48 -07:00
message.go all: gofmt for Go 1.19 2022-08-02 10:08:05 -07:00
message_test.go all: use any instead of interface{} 2022-03-17 11:35:09 -07:00
prefs.go refactor: move from io/ioutil to io and os packages 2022-09-15 21:45:53 -07:00
prefs_test.go all: fix spelling mistakes 2022-09-29 13:36:13 -07:00
store.go wgengine/magicsock: make debug-level stuff not logged by default 2022-10-04 11:05:50 -07:00