CpuBackend/setJob: do not return early for same-threads if the algo is

different

Occasionally under some conditions autoswitching would not stop/start
between algos which also didn't reset the running hashrate averages
This commit is contained in:
Tony Butler 2024-06-25 11:01:22 -06:00
parent 26f4936f6f
commit 1ed99453dd

View file

@ -352,7 +352,7 @@ void xmrig::CpuBackend::setJob(const Job &job)
const auto &cpu = d_ptr->controller->config()->cpu();
auto threads = cpu.get(d_ptr->controller->miner(), job.algorithm());
if (!d_ptr->threads.empty() && d_ptr->threads.size() == threads.size() && std::equal(d_ptr->threads.begin(), d_ptr->threads.end(), threads.begin())) {
if (!d_ptr->threads.empty() && d_ptr->threads.size() == threads.size() && std::equal(d_ptr->threads.begin(), d_ptr->threads.end(), threads.begin()) && d_ptr->algo == job.algorithm()) {
return;
}