diff options
Diffstat (limited to 'src/pkg/sync/atomic/race.go')
-rw-r--r-- | src/pkg/sync/atomic/race.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/pkg/sync/atomic/race.go b/src/pkg/sync/atomic/race.go index 242bbf298..2320b5707 100644 --- a/src/pkg/sync/atomic/race.go +++ b/src/pkg/sync/atomic/race.go @@ -25,6 +25,7 @@ func CompareAndSwapInt32(val *int32, old, new int32) bool { } func CompareAndSwapUint32(val *uint32, old, new uint32) (swapped bool) { + _ = *val swapped = false runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(val)) @@ -43,6 +44,7 @@ func CompareAndSwapInt64(val *int64, old, new int64) bool { } func CompareAndSwapUint64(val *uint64, old, new uint64) (swapped bool) { + _ = *val swapped = false runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(val)) @@ -57,6 +59,7 @@ func CompareAndSwapUint64(val *uint64, old, new uint64) (swapped bool) { } func CompareAndSwapPointer(val *unsafe.Pointer, old, new unsafe.Pointer) (swapped bool) { + _ = *val swapped = false runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(val)) @@ -71,6 +74,7 @@ func CompareAndSwapPointer(val *unsafe.Pointer, old, new unsafe.Pointer) (swappe } func CompareAndSwapUintptr(val *uintptr, old, new uintptr) (swapped bool) { + _ = *val swapped = false runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(val)) @@ -89,6 +93,7 @@ func AddInt32(val *int32, delta int32) int32 { } func AddUint32(val *uint32, delta uint32) (new uint32) { + _ = *val runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(val)) runtime.RaceAcquire(unsafe.Pointer(val)) @@ -105,6 +110,7 @@ func AddInt64(val *int64, delta int64) int64 { } func AddUint64(val *uint64, delta uint64) (new uint64) { + _ = *val runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(val)) runtime.RaceAcquire(unsafe.Pointer(val)) @@ -117,6 +123,7 @@ func AddUint64(val *uint64, delta uint64) (new uint64) { } func AddUintptr(val *uintptr, delta uintptr) (new uintptr) { + _ = *val runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(val)) runtime.RaceAcquire(unsafe.Pointer(val)) @@ -133,6 +140,7 @@ func LoadInt32(addr *int32) int32 { } func LoadUint32(addr *uint32) (val uint32) { + _ = *addr runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(addr)) runtime.RaceAcquire(unsafe.Pointer(addr)) @@ -146,6 +154,7 @@ func LoadInt64(addr *int64) int64 { } func LoadUint64(addr *uint64) (val uint64) { + _ = *addr runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(addr)) runtime.RaceAcquire(unsafe.Pointer(addr)) @@ -155,6 +164,7 @@ func LoadUint64(addr *uint64) (val uint64) { } func LoadPointer(addr *unsafe.Pointer) (val unsafe.Pointer) { + _ = *addr runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(addr)) runtime.RaceAcquire(unsafe.Pointer(addr)) @@ -164,6 +174,7 @@ func LoadPointer(addr *unsafe.Pointer) (val unsafe.Pointer) { } func LoadUintptr(addr *uintptr) (val uintptr) { + _ = *addr runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(addr)) runtime.RaceAcquire(unsafe.Pointer(addr)) @@ -177,6 +188,7 @@ func StoreInt32(addr *int32, val int32) { } func StoreUint32(addr *uint32, val uint32) { + _ = *addr runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(addr)) *addr = val @@ -189,6 +201,7 @@ func StoreInt64(addr *int64, val int64) { } func StoreUint64(addr *uint64, val uint64) { + _ = *addr runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(addr)) *addr = val @@ -197,6 +210,7 @@ func StoreUint64(addr *uint64, val uint64) { } func StorePointer(addr *unsafe.Pointer, val unsafe.Pointer) { + _ = *addr runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(addr)) *addr = val @@ -205,6 +219,7 @@ func StorePointer(addr *unsafe.Pointer, val unsafe.Pointer) { } func StoreUintptr(addr *uintptr, val uintptr) { + _ = *addr runtime.RaceSemacquire(&mtx) runtime.RaceRead(unsafe.Pointer(addr)) *addr = val |