mirror of
https://github.com/monero-project/monero.git
synced 2025-05-04 18:34:59 -04:00
Merge pull request #8223
17772ef
Eliminate dependence on boost::interprocess #8223 (Jeffrey)
This commit is contained in:
commit
bb093ec9a8
10 changed files with 43 additions and 50 deletions
|
@ -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;
|
||||
|
|
|
@ -118,14 +118,14 @@ namespace cryptonote
|
|||
};
|
||||
|
||||
|
||||
volatile uint32_t m_stop;
|
||||
std::atomic<bool> m_stop;
|
||||
epee::critical_section m_template_lock;
|
||||
block m_template;
|
||||
std::atomic<uint32_t> m_template_no;
|
||||
std::atomic<uint32_t> m_starter_nonce;
|
||||
difficulty_type m_diffic;
|
||||
uint64_t m_height;
|
||||
volatile uint32_t m_thread_index;
|
||||
std::atomic<uint32_t> m_thread_index;
|
||||
volatile uint32_t m_threads_total;
|
||||
std::atomic<uint32_t> m_threads_active;
|
||||
std::atomic<int32_t> m_pausers_count;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue