From 371335ad081b4ce7cdf00dc8079b19c8599c836e Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Thu, 20 Feb 2020 17:16:51 +0100 Subject: Fix bogus CPU load display on app restart Fixes: AUTOSUITE-1490 Change-Id: I5b45f58ace718dbcc88554248dea816c40ef363b Reviewed-by: Bernd Weimer --- src/monitor-lib/processreader.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/monitor-lib/processreader.cpp b/src/monitor-lib/processreader.cpp index 738967ad..31c096d2 100644 --- a/src/monitor-lib/processreader.cpp +++ b/src/monitor-lib/processreader.cpp @@ -93,6 +93,8 @@ void ProcessReader::openCpuLoad() m_statReader.reset(new SysFsReader(fileName)); if (!m_statReader->isOpen()) qCWarning(LogSystem) << "Cannot read CPU load from" << fileName; + m_lastCpuUsage = 0; + m_elapsedTime.invalidate(); } qreal ProcessReader::readCpuLoad() @@ -124,7 +126,7 @@ qreal ProcessReader::readCpuLoad() pos = int(endPtr - str.constData() + 1); quint64 stime = strtoull(str.constData() + pos, nullptr, 10); // check missing for overflow - qreal load = elapsed != 0 ? (utime + stime - m_lastCpuUsage) * 1000.0 / sysconf(_SC_CLK_TCK) / elapsed : 0.0; + qreal load = (elapsed != 0) ? ((utime + stime - m_lastCpuUsage) * 1000.0 / sysconf(_SC_CLK_TCK) / elapsed) : 0.0; m_lastCpuUsage = utime + stime; return load; } -- cgit v1.2.3