diff options
author | elsid <elsid.mail@gmail.com> | 2022-01-19 01:07:17 +0100 |
---|---|---|
committer | elsid <elsid.mail@gmail.com> | 2022-01-19 01:10:58 +0100 |
commit | a2002bc983fb2ed3c767f2bc81db4e0da069ca82 (patch) | |
tree | c4d6676f1e9020f651481ad8281191ff8feb39d3 | |
parent | 088c4597713e56c5b612684baeaf840413060885 (diff) |
Support frequency of ProgressReporter calls lower than interval
-rw-r--r-- | components/misc/progressreporter.hpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/components/misc/progressreporter.hpp b/components/misc/progressreporter.hpp index 733e36191e..30d9b0ae2e 100644 --- a/components/misc/progressreporter.hpp +++ b/components/misc/progressreporter.hpp @@ -29,10 +29,10 @@ namespace Misc { const std::lock_guard lock(mMutex); const auto now = std::chrono::steady_clock::now(); - const auto left = mNextReport - now; - if (left.count() > 0 || provided == expected) + if (mNextReport > now || provided == expected) return false; - mNextReport += mInterval + left; + if (mInterval.count() > 0) + mNextReport = mNextReport + mInterval * ((now - mNextReport + mInterval).count() / mInterval.count()); return true; } (); if (shouldReport) |