Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fixed bug 1630: wrong CPU values when no ${top *} var was used
#1630 My per-core CPU values were wrong because Conky was ignoring half the data in /proc/stat. In Linux, Conky supports short and long /proc/stat formats. The type is auto-detected by determine_longstat_file(). However, this function is only called if the user's config uses a ${top *} var. If the user doesn't use this widget, the CPU values are calculated wrong because 4 of the 8 stat values are ignored. In my case, I discovered it because conky showed one of my CPU cores pegged at 100% all the time no matter what. But htop + btop showed under 5% for that core. So I did some digging, and found it was happening because that core was stuck in iowait due to a hung NFS mount. Conky normally handles iowait correctly, but only if it detected the long stat format. I didn't have any ${top *} vars, so conky wasn't trying to detect the stat format, defaulting to short stat which ignores half the data, and this made it think the CPU was always at 100%. This fix detects the stat format the first time it's accessed, regardless of which widgets the user config contains.
- Loading branch information