diff options
Diffstat (limited to 'ipn/ipnlocal')
| -rw-r--r-- | ipn/ipnlocal/local.go | 7 | ||||
| -rw-r--r-- | ipn/ipnlocal/peerapi.go | 10 | ||||
| -rw-r--r-- | ipn/ipnlocal/state_test.go | 6 |
3 files changed, 11 insertions, 12 deletions
diff --git a/ipn/ipnlocal/local.go b/ipn/ipnlocal/local.go index 0d85fa26e..b04a49d16 100644 --- a/ipn/ipnlocal/local.go +++ b/ipn/ipnlocal/local.go @@ -40,7 +40,6 @@ import ( "tailscale.com/net/tsdial" "tailscale.com/paths" "tailscale.com/portlist" - "tailscale.com/syncs" "tailscale.com/tailcfg" "tailscale.com/tka" "tailscale.com/types/dnstype" @@ -127,7 +126,7 @@ type LocalBackend struct { serverURL string // tailcontrol URL newDecompressor func() (controlclient.Decompressor, error) varRoot string // or empty if SetVarRoot never called - sshAtomicBool syncs.AtomicBool + sshAtomicBool atomic.Bool shutdownCalled bool // if Shutdown has been called filterAtomic atomic.Value // of *filter.Filter @@ -1740,7 +1739,7 @@ func (b *LocalBackend) loadStateLocked(key ipn.StateKey, prefs *ipn.Prefs) (err // setAtomicValuesFromPrefs populates sshAtomicBool and containsViaIPFuncAtomic // from the prefs p, which may be nil. func (b *LocalBackend) setAtomicValuesFromPrefs(p *ipn.Prefs) { - b.sshAtomicBool.Set(p != nil && p.RunSSH && canSSH) + b.sshAtomicBool.Store(p != nil && p.RunSSH && canSSH) if p == nil { b.containsViaIPFuncAtomic.Store(tsaddr.NewContainsIPFunc(nil)) @@ -3053,7 +3052,7 @@ func (b *LocalBackend) ResetForClientDisconnect() { b.setAtomicValuesFromPrefs(nil) } -func (b *LocalBackend) ShouldRunSSH() bool { return b.sshAtomicBool.Get() && canSSH } +func (b *LocalBackend) ShouldRunSSH() bool { return b.sshAtomicBool.Load() && canSSH } // ShouldHandleViaIP reports whether whether ip is an IPv6 address in the // Tailscale ULA's v6 "via" range embedding an IPv4 address to be forwarded to diff --git a/ipn/ipnlocal/peerapi.go b/ipn/ipnlocal/peerapi.go index 6c12862d0..05a638667 100644 --- a/ipn/ipnlocal/peerapi.go +++ b/ipn/ipnlocal/peerapi.go @@ -26,6 +26,7 @@ import ( "strconv" "strings" "sync" + "sync/atomic" "time" "unicode" "unicode/utf8" @@ -41,7 +42,6 @@ import ( "tailscale.com/net/interfaces" "tailscale.com/net/netaddr" "tailscale.com/net/netutil" - "tailscale.com/syncs" "tailscale.com/tailcfg" "tailscale.com/util/clientmetric" "tailscale.com/wgengine" @@ -58,7 +58,7 @@ type peerAPIServer struct { b *LocalBackend rootDir string // empty means file receiving unavailable selfNode *tailcfg.Node - knownEmpty syncs.AtomicBool + knownEmpty atomic.Bool resolver *resolver.Resolver // directFileMode is whether we're writing files directly to a @@ -144,7 +144,7 @@ func (s *peerAPIServer) hasFilesWaiting() bool { if s == nil || s.rootDir == "" || s.directFileMode { return false } - if s.knownEmpty.Get() { + if s.knownEmpty.Load() { // Optimization: this is usually empty, so avoid opening // the directory and checking. We can't cache the actual // has-files-or-not values as the macOS/iOS client might @@ -185,7 +185,7 @@ func (s *peerAPIServer) hasFilesWaiting() bool { } } if err == io.EOF { - s.knownEmpty.Set(true) + s.knownEmpty.Store(true) } if err != nil { break @@ -808,7 +808,7 @@ func (h *peerAPIHandler) handlePeerPut(w http.ResponseWriter, r *http.Request) { // TODO: some real response success = true io.WriteString(w, "{}\n") - h.ps.knownEmpty.Set(false) + h.ps.knownEmpty.Store(false) h.ps.b.sendFileNotify() } diff --git a/ipn/ipnlocal/state_test.go b/ipn/ipnlocal/state_test.go index d89c50e1e..51ba3ec31 100644 --- a/ipn/ipnlocal/state_test.go +++ b/ipn/ipnlocal/state_test.go @@ -7,6 +7,7 @@ package ipnlocal import ( "context" "sync" + "sync/atomic" "testing" "time" @@ -15,7 +16,6 @@ import ( "tailscale.com/control/controlclient" "tailscale.com/ipn" "tailscale.com/ipn/store/mem" - "tailscale.com/syncs" "tailscale.com/tailcfg" "tailscale.com/types/empty" "tailscale.com/types/key" @@ -91,7 +91,7 @@ type mockControl struct { opts controlclient.Options logfActual logger.Logf statusFunc func(controlclient.Status) - preventLog syncs.AtomicBool + preventLog atomic.Bool mu sync.Mutex calls []string @@ -920,7 +920,7 @@ func TestStateMachine(t *testing.T) { type testStateStorage struct { mem mem.Store - written syncs.AtomicBool + written atomic.Bool } func (s *testStateStorage) ReadState(id ipn.StateKey) ([]byte, error) { |
