aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2024-05-03 13:14:00 +0200
committerGopher Robot <gobot@golang.org>2024-05-03 16:47:15 +0000
commit0bc093a1aae4fb5e101fae815fe6673e9180923e (patch)
treebab6732c891bae4f357356d027018ca0a0132451 /src
parent44e48c7e6cb0aceccae6535b218748d9f312fc89 (diff)
downloadgo-0bc093a1aae4fb5e101fae815fe6673e9180923e.tar.gz
go-0bc093a1aae4fb5e101fae815fe6673e9180923e.zip
internal/sysinfo: use sync.OnceValue for CPUName
Change-Id: I0f3ae97f2bd5ff3f533c5bf4570a8cda8b92b16a Reviewed-on: https://go-review.googlesource.com/c/go/+/582836 Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/internal/sysinfo/sysinfo.go29
1 files changed, 9 insertions, 20 deletions
diff --git a/src/internal/sysinfo/sysinfo.go b/src/internal/sysinfo/sysinfo.go
index 6a29ad2bc1..ae0d5a440c 100644
--- a/src/internal/sysinfo/sysinfo.go
+++ b/src/internal/sysinfo/sysinfo.go
@@ -11,25 +11,14 @@ import (
"sync"
)
-var cpuInfo struct {
- once sync.Once
- name string
-}
+var CPUName = sync.OnceValue(func() string {
+ if name := cpu.Name(); name != "" {
+ return name
+ }
-func CPUName() string {
- cpuInfo.once.Do(func() {
- // Try to get the information from internal/cpu.
- if name := cpu.Name(); name != "" {
- cpuInfo.name = name
- return
- }
+ if name := osCpuInfoName(); name != "" {
+ return name
+ }
- // TODO(martisch): use /proc/cpuinfo and /sys/devices/system/cpu/ on Linux as fallback.
- if name := osCpuInfoName(); name != "" {
- cpuInfo.name = name
- return
- }
- })
-
- return cpuInfo.name
-}
+ return ""
+})