diff options
author | NoodleDoodleNoodleDoodleNoodleDoodleNoo <NoodleDoodleNoodleDoodleNoodleDoodleNoo@users.noreply.github.com> | 2014-06-16 02:00:44 -0700 |
---|---|---|
committer | NoodleDoodleNoodleDoodleNoodleDoodleNoo <NoodleDoodleNoodleDoodleNoodleDoodleNoo@users.noreply.github.com> | 2014-06-16 02:00:44 -0700 |
commit | c0520ad63d71f94bc78a119c61ade30876e95ed6 (patch) | |
tree | e1a25e286e3fcaad0e1acf35a93363ce5183c891 | |
parent | Update slow-hash.c (diff) | |
download | monero-c0520ad63d71f94bc78a119c61ade30876e95ed6.tar.xz |
Update miner.cpp
1. Added scratchpad memory allocation support.
-rw-r--r-- | src/cryptonote_core/miner.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/cryptonote_core/miner.cpp b/src/cryptonote_core/miner.cpp index 56b459d6e..d021b05bd 100644 --- a/src/cryptonote_core/miner.cpp +++ b/src/cryptonote_core/miner.cpp @@ -23,7 +23,8 @@ using namespace epee; #include "miner.h" - +extern "C" void slow_hash_allocate_state(); +extern "C" void slow_hash_free_state(); namespace cryptonote { @@ -188,10 +189,19 @@ namespace cryptonote return true; } //----------------------------------------------------------------------------------------------------- - bool miner::is_mining() + bool miner::is_mining() const { return !m_stop; } + //----------------------------------------------------------------------------------------------------- + const account_public_address& miner::get_mining_address() const + { + return m_mine_address; + } + //----------------------------------------------------------------------------------------------------- + uint32_t miner::get_threads_count() const { + return m_threads_total; + } //----------------------------------------------------------------------------------------------------- bool miner::start(const account_public_address& adr, size_t threads_count, const boost::thread::attributes& attrs) { @@ -226,12 +236,14 @@ namespace cryptonote return true; } //----------------------------------------------------------------------------------------------------- - uint64_t miner::get_speed() + uint64_t miner::get_speed() const { - if(is_mining()) + if(is_mining()) { return m_current_hash_rate; - else + } + else { return 0; + } } //----------------------------------------------------------------------------------------------------- void miner::send_stop_signal() @@ -309,6 +321,7 @@ namespace cryptonote difficulty_type local_diff = 0; uint32_t local_template_ver = 0; block b; + slow_hash_allocate_state(); while(!m_stop) { if(m_pausers_count)//anti split workaround @@ -357,6 +370,7 @@ namespace cryptonote nonce+=m_threads_total; ++m_hashes; } + slow_hash_free_state(); LOG_PRINT_L0("Miner thread stopped ["<< th_local_index << "]"); return true; } |