aboutsummaryrefslogtreecommitdiff
path: root/src/internal/syscall
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2023-01-26 13:44:30 +0100
committerTobias Klauser <tobias.klauser@gmail.com>2023-01-26 21:54:02 +0000
commitea6d4b0eaf20da4d2d9a88b995314eeeac614ef3 (patch)
tree6a571554cce06badb86eea1585fe48f44983c68d /src/internal/syscall
parentda9761303c439041251931c32b6e86bdbe739183 (diff)
downloadgo-ea6d4b0eaf20da4d2d9a88b995314eeeac614ef3.tar.xz
internal/syscall/unix: use atomic.Bool for getrandomUnsupported
Change-Id: I50522ed782dd963f445419fc45495f6608909c47 Reviewed-on: https://go-review.googlesource.com/c/go/+/463124 Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/internal/syscall')
-rw-r--r--src/internal/syscall/unix/getrandom.go6
-rw-r--r--src/internal/syscall/unix/getrandom_netbsd.go8
-rw-r--r--src/internal/syscall/unix/getrandom_solaris.go6
3 files changed, 10 insertions, 10 deletions
diff --git a/src/internal/syscall/unix/getrandom.go b/src/internal/syscall/unix/getrandom.go
index a6659331e4..e83f0cd6f9 100644
--- a/src/internal/syscall/unix/getrandom.go
+++ b/src/internal/syscall/unix/getrandom.go
@@ -12,7 +12,7 @@ import (
"unsafe"
)
-var getrandomUnsupported int32 // atomic
+var getrandomUnsupported atomic.Bool
// GetRandomFlag is a flag supported by the getrandom system call.
type GetRandomFlag uintptr
@@ -22,7 +22,7 @@ func GetRandom(p []byte, flags GetRandomFlag) (n int, err error) {
if len(p) == 0 {
return 0, nil
}
- if atomic.LoadInt32(&getrandomUnsupported) != 0 {
+ if getrandomUnsupported.Load() {
return 0, syscall.ENOSYS
}
r1, _, errno := syscall.Syscall(getrandomTrap,
@@ -31,7 +31,7 @@ func GetRandom(p []byte, flags GetRandomFlag) (n int, err error) {
uintptr(flags))
if errno != 0 {
if errno == syscall.ENOSYS {
- atomic.StoreInt32(&getrandomUnsupported, 1)
+ getrandomUnsupported.Store(true)
}
return 0, errno
}
diff --git a/src/internal/syscall/unix/getrandom_netbsd.go b/src/internal/syscall/unix/getrandom_netbsd.go
index 724228b380..c83e3b21a5 100644
--- a/src/internal/syscall/unix/getrandom_netbsd.go
+++ b/src/internal/syscall/unix/getrandom_netbsd.go
@@ -14,7 +14,7 @@ import (
// NetBSD getrandom system call number.
const getrandomTrap uintptr = 91
-var getrandomUnsupported int32 // atomic
+var getrandomUnsupported atomic.Bool
// GetRandomFlag is a flag supported by the getrandom system call.
type GetRandomFlag uintptr
@@ -24,12 +24,12 @@ func GetRandom(p []byte, flags GetRandomFlag) (n int, err error) {
if len(p) == 0 {
return 0, nil
}
- if atomic.LoadInt32(&getrandomUnsupported) != 0 {
+ if getrandomUnsupported.Load() {
return 0, syscall.ENOSYS
}
// getrandom(2) was added in NetBSD 10.0
if getOSRevision() < 1000000000 {
- atomic.StoreInt32(&getrandomUnsupported, 1)
+ getrandomUnsupported.Store(true)
return 0, syscall.ENOSYS
}
r1, _, errno := syscall.Syscall(getrandomTrap,
@@ -38,7 +38,7 @@ func GetRandom(p []byte, flags GetRandomFlag) (n int, err error) {
uintptr(flags))
if errno != 0 {
if errno == syscall.ENOSYS {
- atomic.StoreInt32(&getrandomUnsupported, 1)
+ getrandomUnsupported.Store(true)
}
return 0, errno
}
diff --git a/src/internal/syscall/unix/getrandom_solaris.go b/src/internal/syscall/unix/getrandom_solaris.go
index d86775cd98..cf4f35a419 100644
--- a/src/internal/syscall/unix/getrandom_solaris.go
+++ b/src/internal/syscall/unix/getrandom_solaris.go
@@ -16,7 +16,7 @@ import (
var procGetrandom uintptr
-var getrandomUnsupported int32 // atomic
+var getrandomUnsupported atomic.Bool
// GetRandomFlag is a flag supported by the getrandom system call.
type GetRandomFlag uintptr
@@ -34,7 +34,7 @@ func GetRandom(p []byte, flags GetRandomFlag) (n int, err error) {
if len(p) == 0 {
return 0, nil
}
- if atomic.LoadInt32(&getrandomUnsupported) != 0 {
+ if getrandomUnsupported.Load() {
return 0, syscall.ENOSYS
}
r1, _, errno := syscall6(uintptr(unsafe.Pointer(&procGetrandom)),
@@ -45,7 +45,7 @@ func GetRandom(p []byte, flags GetRandomFlag) (n int, err error) {
0, 0, 0)
if errno != 0 {
if errno == syscall.ENOSYS {
- atomic.StoreInt32(&getrandomUnsupported, 1)
+ getrandomUnsupported.Store(true)
}
return 0, errno
}