diff options
Diffstat (limited to 'src/internal/sysinfo/sysinfo.go')
-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..7debaa1e95 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 "" +}) |