aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/internal/modload/load.go
diff options
context:
space:
mode:
authorhopehook <hopehook@qq.com>2022-08-25 11:11:59 +0800
committerGopher Robot <gobot@golang.org>2022-08-26 17:45:20 +0000
commit78aef56062e00cb45e69ee040fe35de6e08938d3 (patch)
tree0fed0aa88a522217ba06ae8ba989510fbb327b39 /src/cmd/go/internal/modload/load.go
parent48ecc152e47db19255a3501d272b7ea3ed28915a (diff)
downloadgo-78aef56062e00cb45e69ee040fe35de6e08938d3.tar.gz
go-78aef56062e00cb45e69ee040fe35de6e08938d3.zip
cmd/go/internal/modload: convert atomicLoadPkgFlags.bits to atomic type
Change-Id: I9e59530953439dec6f4524c5a7adc75c98c12b8f Reviewed-on: https://go-review.googlesource.com/c/go/+/425456 Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Bryan Mills <bcmills@google.com>
Diffstat (limited to 'src/cmd/go/internal/modload/load.go')
-rw-r--r--src/cmd/go/internal/modload/load.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/go/internal/modload/load.go b/src/cmd/go/internal/modload/load.go
index 7e061f01a43..69b0c30978d 100644
--- a/src/cmd/go/internal/modload/load.go
+++ b/src/cmd/go/internal/modload/load.go
@@ -932,7 +932,7 @@ func (f loadPkgFlags) has(cond loadPkgFlags) bool {
// An atomicLoadPkgFlags stores a loadPkgFlags for which individual flags can be
// added atomically.
type atomicLoadPkgFlags struct {
- bits int32
+ bits atomic.Int32
}
// update sets the given flags in af (in addition to any flags already set).
@@ -941,9 +941,9 @@ type atomicLoadPkgFlags struct {
// flags were newly-set.
func (af *atomicLoadPkgFlags) update(flags loadPkgFlags) (old loadPkgFlags) {
for {
- old := atomic.LoadInt32(&af.bits)
+ old := af.bits.Load()
new := old | int32(flags)
- if new == old || atomic.CompareAndSwapInt32(&af.bits, old, new) {
+ if new == old || af.bits.CompareAndSwap(old, new) {
return loadPkgFlags(old)
}
}
@@ -951,7 +951,7 @@ func (af *atomicLoadPkgFlags) update(flags loadPkgFlags) (old loadPkgFlags) {
// has reports whether all of the flags in cond are set in af.
func (af *atomicLoadPkgFlags) has(cond loadPkgFlags) bool {
- return loadPkgFlags(atomic.LoadInt32(&af.bits))&cond == cond
+ return loadPkgFlags(af.bits.Load())&cond == cond
}
// isTest reports whether pkg is a test of another package.