aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic/miner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cryptonote_basic/miner.cpp')
-rw-r--r--src/cryptonote_basic/miner.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/cryptonote_basic/miner.cpp b/src/cryptonote_basic/miner.cpp
index 808e94253..5b0db9518 100644
--- a/src/cryptonote_basic/miner.cpp
+++ b/src/cryptonote_basic/miner.cpp
@@ -30,7 +30,6 @@
#include <sstream>
#include <numeric>
-#include <boost/interprocess/detail/atomic.hpp>
#include <boost/algorithm/string.hpp>
#include "misc_language.h"
#include "syncobj.h"
@@ -271,13 +270,13 @@ namespace cryptonote
// restart all threads
{
CRITICAL_REGION_LOCAL(m_threads_lock);
- boost::interprocess::ipcdetail::atomic_write32(&m_stop, 1);
+ m_stop = true;
while (m_threads_active > 0)
misc_utils::sleep_no_w(100);
m_threads.clear();
}
- boost::interprocess::ipcdetail::atomic_write32(&m_stop, 0);
- boost::interprocess::ipcdetail::atomic_write32(&m_thread_index, 0);
+ m_stop = false;
+ m_thread_index = 0;
for(size_t i = 0; i != m_threads_total; i++)
m_threads.push_back(boost::thread(m_attrs, boost::bind(&miner::worker_thread, this)));
}
@@ -394,8 +393,8 @@ namespace cryptonote
request_block_template();//lets update block template
- boost::interprocess::ipcdetail::atomic_write32(&m_stop, 0);
- boost::interprocess::ipcdetail::atomic_write32(&m_thread_index, 0);
+ m_stop = false;
+ m_thread_index = 0;
set_is_background_mining_enabled(do_background);
set_ignore_battery(ignore_battery);
@@ -435,7 +434,7 @@ namespace cryptonote
//-----------------------------------------------------------------------------------------------------
void miner::send_stop_signal()
{
- boost::interprocess::ipcdetail::atomic_write32(&m_stop, 1);
+ m_stop = true;
}
extern "C" void rx_stop_mining(void);
//-----------------------------------------------------------------------------------------------------
@@ -524,7 +523,7 @@ namespace cryptonote
//-----------------------------------------------------------------------------------------------------
bool miner::worker_thread()
{
- uint32_t th_local_index = boost::interprocess::ipcdetail::atomic_inc32(&m_thread_index);
+ const uint32_t th_local_index = m_thread_index++; // atomically increment, getting value before increment
MLOG_SET_THREAD_NAME(std::string("[miner ") + std::to_string(th_local_index) + "]");
MGINFO("Miner thread was started ["<< th_local_index << "]");
uint32_t nonce = m_starter_nonce + th_local_index;