summaryrefslogtreecommitdiffstats
path: root/wsd
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2021-10-25 16:11:44 +0100
committerMichael Meeks <michael.meeks@collabora.com>2021-10-25 17:00:02 +0100
commit81ea2266dd334b239c559e3c57f22eed3c882374 (patch)
tree9bfba30e7d1618fdb1f98267c089b518f299e471 /wsd
parentcypress: fix: close sidebar so elements don't overlap (diff)
downloadonline-81ea2266dd334b239c559e3c57f22eed3c882374.tar.gz
online-81ea2266dd334b239c559e3c57f22eed3c882374.zip
prevent division by zero
Signed-off-by: Michael Meeks <michael.meeks@collabora.com> Change-Id: Ibce3908b4d2c849548bece4e5819aa74dc1992d2
Diffstat (limited to 'wsd')
-rw-r--r--wsd/AdminModel.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/wsd/AdminModel.cpp b/wsd/AdminModel.cpp
index d0e491dd72..e2a1269c13 100644
--- a/wsd/AdminModel.cpp
+++ b/wsd/AdminModel.cpp
@@ -149,9 +149,9 @@ void Document::updateMemoryDirty()
void Document::setLastJiffies(size_t newJ)
{
const auto now = std::chrono::steady_clock::now();
- if (_lastJiffy && now != _lastJiffyTime)
- _lastCpuPercentage = (100 * 1000 * (newJ - _lastJiffy) / ::sysconf(_SC_CLK_TCK))
- / std::chrono::duration_cast<std::chrono::milliseconds>(now - _lastJiffyTime).count();
+ auto sinceMs = std::chrono::duration_cast<std::chrono::milliseconds>(now - _lastJiffyTime).count();
+ if (_lastJiffy && sinceMs > 0)
+ _lastCpuPercentage = (100 * 1000 * (newJ - _lastJiffy) / ::sysconf(_SC_CLK_TCK)) / sinceMs;
_lastJiffy = newJ;
_lastJiffyTime = now;
}