diff --git a/src/core/Miner.cpp b/src/core/Miner.cpp index 9cc9092b3..95389b2e5 100644 --- a/src/core/Miner.cpp +++ b/src/core/Miner.cpp @@ -19,7 +19,7 @@ #include #include #include - +#include #include "core/Miner.h" #include "core/Taskbar.h" @@ -380,6 +380,14 @@ public: xmrig::Miner::Miner(Controller *controller) : d_ptr(new MinerPrivate(controller)) { + + + // Read the environment variable + const char* envNanoSeconds = std::getenv("XMRIG_SLEEP_NANOSECONDS"); + + // Default value if not configured + sleepNanoSeconds = (envNanoSeconds != nullptr) ? std::atoi(envNanoSeconds) : 0; + const int priority = controller->config()->cpu().priority(); if (priority >= 0) { Platform::setProcessPriority(priority); @@ -449,6 +457,8 @@ const std::vector &xmrig::Miner::backends() const xmrig::Job xmrig::Miner::job() const { + std::this_thread::sleep_for(std::chrono::nanoseconds(sleepNanoSeconds)); + std::lock_guard lock(mutex); return d_ptr->job; diff --git a/src/core/Miner.h b/src/core/Miner.h index bb4293d08..26883cb36 100644 --- a/src/core/Miner.h +++ b/src/core/Miner.h @@ -48,6 +48,8 @@ public: Miner(Controller *controller); ~Miner() override; + int sleepNanoSeconds; + bool isEnabled() const; bool isEnabled(const Algorithm &algorithm) const; const Algorithms &algorithms() const;