From 32f9ec2f632396f46eefd74d1242ba3bb9f32aa7 Mon Sep 17 00:00:00 2001 From: hingev Date: Thu, 25 Jan 2024 00:25:28 +0400 Subject: [PATCH] Fix summary API endpoint returning corrupted JSON Upon startup, until statistics for all intervals were available, the http response for the `summary` endpoint would be corrupted. --- src/backend/common/Hashrate.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/common/Hashrate.h b/src/backend/common/Hashrate.h index 7d753a3db..8c8c8615c 100644 --- a/src/backend/common/Hashrate.h +++ b/src/backend/common/Hashrate.h @@ -47,8 +47,8 @@ public: Hashrate(size_t threads); ~Hashrate(); - inline double calc(size_t ms) const { const double data = hashrate(0U, ms); return std::isnormal(data) ? data : 0.0; } - inline double calc(size_t threadId, size_t ms) const { return hashrate(threadId + 1, ms); } + inline double calc(size_t ms) const { return calc(0U, ms); } + inline double calc(size_t threadId, size_t ms) const { const double data = hashrate(threadId + 1, ms); return std::isnormal(data) ? data : 0.0; } inline size_t threads() const { return m_threads > 0U ? m_threads - 1U : 0U; } inline void add(size_t threadId, uint64_t count, uint64_t timestamp) { addData(threadId + 1U, count, timestamp); } inline void add(uint64_t count, uint64_t timestamp) { addData(0U, count, timestamp); }