Support frequency of ProgressReporter calls lower than interval

psi29a-master-patch-54550
elsid 3 years ago
parent 088c459771
commit a2002bc983
No known key found for this signature in database
GPG Key ID: B845CB9FEE18AB40

@ -29,10 +29,10 @@ namespace Misc
{ {
const std::lock_guard lock(mMutex); const std::lock_guard lock(mMutex);
const auto now = std::chrono::steady_clock::now(); const auto now = std::chrono::steady_clock::now();
const auto left = mNextReport - now; if (mNextReport > now || provided == expected)
if (left.count() > 0 || provided == expected)
return false; return false;
mNextReport += mInterval + left; if (mInterval.count() > 0)
mNextReport = mNextReport + mInterval * ((now - mNextReport + mInterval).count() / mInterval.count());
return true; return true;
} (); } ();
if (shouldReport) if (shouldReport)

Loading…
Cancel
Save