From 871bc3e1801c979a51e244b5c4485743684ccd62 Mon Sep 17 00:00:00 2001 From: XMRig Date: Thu, 18 Jul 2019 04:21:14 +0700 Subject: [PATCH] Fixed bugs. --- src/backend/common/Thread.h | 6 ++++-- src/backend/cpu/CpuWorker.cpp | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/backend/common/Thread.h b/src/backend/common/Thread.h index b62d880c..36367ece 100644 --- a/src/backend/common/Thread.h +++ b/src/backend/common/Thread.h @@ -29,11 +29,13 @@ #include +#include "backend/common/interfaces/IWorker.h" + + namespace xmrig { class IBackend; -class IWorker; template @@ -41,7 +43,7 @@ class Thread { public: inline Thread(IBackend *backend, size_t index, const T &config) : m_index(index), m_config(config), m_backend(backend) {} - inline ~Thread() { uv_thread_join(&m_thread); } + inline ~Thread() { uv_thread_join(&m_thread); delete m_worker; } inline const T &config() const { return m_config; } inline IBackend *backend() const { return m_backend; } diff --git a/src/backend/cpu/CpuWorker.cpp b/src/backend/cpu/CpuWorker.cpp index 356dfb1b..4318b8ce 100644 --- a/src/backend/cpu/CpuWorker.cpp +++ b/src/backend/cpu/CpuWorker.cpp @@ -158,7 +158,7 @@ void xmrig::CpuWorker::start() do { std::this_thread::sleep_for(std::chrono::milliseconds(200)); } - while (Nonce::isPaused()); + while (Nonce::isPaused() && Nonce::sequence(Nonce::CPU) > 0); if (Nonce::sequence(Nonce::CPU) == 0) { break;