Add Workers class.

This commit is contained in:
XMRig 2017-06-10 09:41:08 +03:00
parent 29aa466023
commit f9c244f0aa
10 changed files with 138 additions and 42 deletions

View file

@ -35,8 +35,7 @@
#include "Options.h"
#include "Summary.h"
#include "version.h"
#include "workers/Handle.h"
#include "workers/SingleWorker.h"
#include "workers/Workers.h"
@ -75,7 +74,7 @@ App::exec()
Mem::allocate(m_options->algo(), m_options->threads(), m_options->doubleHash());
Summary::print();
startWorders();
Workers::start(m_options->threads());
m_network->connect();
@ -84,23 +83,3 @@ App::exec()
return r;
}
void App::startWorders()
{
for (int i = 0; i < m_options->threads(); ++i) {
Handle *handle = new Handle(i);
m_workers.push_back(handle);
handle->start(App::onWorkerStarted);
}
}
void *App::onWorkerStarted(void *arg)
{
auto handle = static_cast<Handle*>(arg);
IWorker *worker = new SingleWorker(handle);
worker->start();
return nullptr;
}