mirror of
https://github.com/xmrig/xmrig.git
synced 2025-12-10 09:02:45 -05:00
Compare commits
5 Commits
04a70f9a50
...
4649f90dfd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4649f90dfd | ||
|
|
33315ba2ef | ||
|
|
2c9c40d623 | ||
|
|
daa6328418 | ||
|
|
8f507b7d09 |
@@ -20,7 +20,7 @@ set(SOURCES_BACKEND_COMMON
|
||||
src/backend/common/Workers.cpp
|
||||
)
|
||||
|
||||
if (WITH_RANDOMX AND WITH_BENCHMARK)
|
||||
if (WITH_BENCHMARK AND (WITH_RANDOMX OR WITH_GHOSTRIDER))
|
||||
list(APPEND HEADERS_BACKEND_COMMON
|
||||
src/backend/common/benchmark/Benchmark.h
|
||||
src/backend/common/benchmark/BenchState_test.h
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
|
||||
#include <thread>
|
||||
#include <iostream>
|
||||
|
||||
|
||||
namespace xmrig {
|
||||
@@ -80,7 +81,8 @@ static rapidjson::Value getResources(rapidjson::Document &doc)
|
||||
|
||||
xmrig::Api::Api(Base *base) :
|
||||
m_base(base),
|
||||
m_timestamp(Chrono::currentMSecsSinceEpoch())
|
||||
m_timestamp(Chrono::currentMSecsSinceEpoch()),
|
||||
m_httpd(nullptr)
|
||||
{
|
||||
base->addListener(this);
|
||||
|
||||
@@ -91,7 +93,11 @@ xmrig::Api::Api(Base *base) :
|
||||
xmrig::Api::~Api()
|
||||
{
|
||||
# ifdef XMRIG_FEATURE_HTTP
|
||||
delete m_httpd;
|
||||
if (m_httpd) {
|
||||
m_httpd->stop();
|
||||
delete m_httpd;
|
||||
m_httpd = nullptr; // Ensure the pointer is set to nullptr after deletion
|
||||
}
|
||||
# endif
|
||||
}
|
||||
|
||||
@@ -109,8 +115,14 @@ void xmrig::Api::start()
|
||||
genWorkerId(m_base->config()->apiWorkerId());
|
||||
|
||||
# ifdef XMRIG_FEATURE_HTTP
|
||||
m_httpd = new Httpd(m_base);
|
||||
m_httpd->start();
|
||||
if (!m_httpd) {
|
||||
m_httpd = new Httpd(m_base);
|
||||
if (!m_httpd->start()) {
|
||||
std::cerr << "HTTP server failed to start." << std::endl;
|
||||
delete m_httpd; // Properly handle failure to start
|
||||
m_httpd = nullptr;
|
||||
}
|
||||
}
|
||||
# endif
|
||||
}
|
||||
|
||||
@@ -118,7 +130,9 @@ void xmrig::Api::start()
|
||||
void xmrig::Api::stop()
|
||||
{
|
||||
# ifdef XMRIG_FEATURE_HTTP
|
||||
m_httpd->stop();
|
||||
if (m_httpd) {
|
||||
m_httpd->stop();
|
||||
}
|
||||
# endif
|
||||
}
|
||||
|
||||
@@ -126,13 +140,15 @@ void xmrig::Api::stop()
|
||||
void xmrig::Api::tick()
|
||||
{
|
||||
# ifdef XMRIG_FEATURE_HTTP
|
||||
if (m_httpd->isBound() || !m_base->config()->http().isEnabled()) {
|
||||
if (!m_httpd || !m_base->config()->http().isEnabled() || m_httpd->isBound()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (++m_ticks % 10 == 0) {
|
||||
m_ticks = 0;
|
||||
m_httpd->start();
|
||||
if (m_httpd) {
|
||||
m_httpd->start();
|
||||
}
|
||||
}
|
||||
# endif
|
||||
}
|
||||
|
||||
@@ -259,7 +259,7 @@ if (WITH_KAWPOW OR WITH_GHOSTRIDER)
|
||||
endif()
|
||||
|
||||
|
||||
if (WITH_RANDOMX AND WITH_BENCHMARK)
|
||||
if (WITH_BENCHMARK AND (WITH_RANDOMX OR WITH_GHOSTRIDER))
|
||||
add_definitions(/DXMRIG_FEATURE_BENCHMARK)
|
||||
|
||||
list(APPEND HEADERS_BASE
|
||||
|
||||
@@ -333,8 +333,8 @@ void benchmark()
|
||||
|
||||
const CnHash::AlgoVariant* av = Cpu::info()->hasAES() ? av_hw_aes : av_soft_aes;
|
||||
|
||||
uint8_t buf[80];
|
||||
uint8_t hash[32 * 8];
|
||||
uint8_t buf[80] = { 0 };
|
||||
uint8_t hash[32 * 8] = { 0 };
|
||||
|
||||
LOG_VERBOSE("%24s | N | Hashrate", "Algorithm");
|
||||
LOG_VERBOSE("-------------------------|-----|-------------");
|
||||
@@ -540,10 +540,13 @@ HelperThread* create_helper_thread(int64_t cpu_index, int priority, const std::v
|
||||
});
|
||||
|
||||
if (hwloc_bitmap_weight(helper_cpu_set) > 0) {
|
||||
hwloc_bitmap_free(main_threads_set);
|
||||
return new HelperThread(helper_cpu_set, priority, is8MB);
|
||||
}
|
||||
}
|
||||
}
|
||||
hwloc_bitmap_free(helper_cpu_set);
|
||||
hwloc_bitmap_free(main_threads_set);
|
||||
#endif
|
||||
|
||||
return nullptr;
|
||||
|
||||
Reference in New Issue
Block a user