Re-instate default zone0 for CPU Temp (fix #694) (#708)

This commit is contained in:
mojothemonkey2 2022-11-25 06:28:51 +00:00 committed by GitHub
parent 60608c5dc7
commit 04d4eacc60
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 6 deletions

View file

@ -17,7 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Security
### Fixed
- [System] Re-instate default zone0 for CPU Temp ([#694](https://github.com/IceWhaleTech/CasaOS/issues/694))
## [0.3.8] 2022-11-21

View file

@ -316,11 +316,13 @@ func GetCPUThermalZone() string {
}
}
for i := 0; i < 100; i++ {
path := "/sys/devices/virtual/thermal/thermal_zone" + strconv.Itoa(i)
if _, err := os.Stat(path); !os.IsNotExist(err) {
name := strings.TrimSuffix(string(file.ReadFullFile(path+"/type")), "\n")
var name string
cpu_types := []string{"x86_pkg_temp", "cpu", "CPU", "soc"}
stub := "/sys/devices/virtual/thermal/thermal_zone"
for i := 0; i < 100; i++ {
path = stub + strconv.Itoa(i)
if _, err := os.Stat(path); !os.IsNotExist(err) {
name = strings.TrimSuffix(string(file.ReadFullFile(path+"/type")), "\n")
for _, s := range cpu_types {
if strings.HasPrefix(name, s) {
loger.Info(fmt.Sprintf("CPU thermal zone found: %s, path: %s.", name, path))
@ -329,11 +331,18 @@ func GetCPUThermalZone() string {
}
}
} else {
loger.Error("CPUThermalZone not found. CPU Temp will not be displayed.")
if len(name) > 0 { //proves at least one zone
loger.Warn("CPU thermal zone not matched. Default to thermal_zone0.")
path = stub + "0"
} else {
loger.Error("No CPU thermal zones found. CPU temp will not be displayed.")
path = ""
}
break
}
}
return ""
Cache.SetDefault(keyName, path)
return path
}
func (s *systemService) GetCPUTemperature() int {