diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2021-10-25 16:11:44 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2021-10-25 17:00:02 +0100 |
commit | 81ea2266dd334b239c559e3c57f22eed3c882374 (patch) | |
tree | 9bfba30e7d1618fdb1f98267c089b518f299e471 /wsd | |
parent | cypress: fix: close sidebar so elements don't overlap (diff) | |
download | online-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.cpp | 6 |
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; } |