diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2024-05-03 13:14:00 +0200 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2024-05-03 16:47:15 +0000 |
commit | 0bc093a1aae4fb5e101fae815fe6673e9180923e (patch) | |
tree | bab6732c891bae4f357356d027018ca0a0132451 /src | |
parent | 44e48c7e6cb0aceccae6535b218748d9f312fc89 (diff) | |
download | go-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.go | 29 |
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 "" +}) |