Restored "CPU READY" message.

This commit is contained in:
XMRig 2019-07-17 14:54:08 +07:00
parent 4f49533e98
commit 8ce00adda4
13 changed files with 114 additions and 407 deletions

View file

@ -32,6 +32,7 @@
namespace xmrig {
class IBackend;
class IWorker;
@ -39,10 +40,11 @@ template<class T>
class Thread
{
public:
inline Thread(size_t index, const T &config) : m_index(index), m_config(config) {}
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 const T &config() const { return m_config; }
inline IBackend *backend() const { return m_backend; }
inline IWorker *worker() const { return m_worker; }
inline size_t index() const { return m_index; }
inline void setWorker(IWorker *worker) { m_worker = worker; }
@ -51,6 +53,7 @@ public:
private:
const size_t m_index = 0;
const T m_config;
IBackend *m_backend;
IWorker *m_worker = nullptr;
uv_thread_t m_thread;
};

View file

@ -25,6 +25,7 @@
#include "backend/common/Hashrate.h"
#include "backend/common/interfaces/IBackend.h"
#include "backend/common/Workers.h"
#include "backend/cpu/CpuWorker.h"
#include "base/io/log/Log.h"
@ -48,6 +49,7 @@ public:
Hashrate *hashrate = nullptr;
IBackend *backend = nullptr;
};
@ -79,7 +81,14 @@ const xmrig::Hashrate *xmrig::Workers<T>::hashrate() const
template<class T>
void xmrig::Workers<T>::add(const T &data)
{
m_workers.push_back(new Thread<T>(m_workers.size(), data));
m_workers.push_back(new Thread<T>(d_ptr->backend, m_workers.size(), data));
}
template<class T>
void xmrig::Workers<T>::setBackend(IBackend *backend)
{
d_ptr->backend = backend;
}
@ -176,7 +185,7 @@ void xmrig::Workers<CpuLaunchData>::onReady(void *arg)
return;
}
worker->start();
handle->backend()->start(worker);
}

View file

@ -47,6 +47,7 @@ public:
const Hashrate *hashrate() const;
void add(const T &data);
void setBackend(IBackend *backend);
void start();
void stop();
void tick(uint64_t ticks);

View file

@ -33,6 +33,7 @@ namespace xmrig {
class Hashrate;
class IWorker;
class Job;
class String;
@ -46,6 +47,7 @@ public:
virtual const String &profileName() const = 0;
virtual void printHashrate(bool details) = 0;
virtual void setJob(const Job &job) = 0;
virtual void start(IWorker *worker) = 0;
virtual void stop() = 0;
virtual void tick(uint64_t ticks) = 0;
};