diff options
author | Riccardo Spagni <ric@spagni.net> | 2016-04-27 09:09:21 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2016-04-27 09:09:21 +0200 |
commit | 5247c063ea9b8fb5114ee4f784f17dc7a6c05e81 (patch) | |
tree | 8bb20b0b950eca706b6c1657fb3aae794a30f04d /src | |
parent | Merge pull request #816 (diff) | |
parent | simplewallet: more threading fixes (diff) | |
download | monero-5247c063ea9b8fb5114ee4f784f17dc7a6c05e81.tar.xz |
Merge pull request #821
d7bb175 simplewallet: more threading fixes (moneromooo-monero)
Diffstat (limited to 'src')
-rw-r--r-- | src/simplewallet/simplewallet.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index 021e79edb..9b6c57d3d 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -82,8 +82,12 @@ typedef cryptonote::simple_wallet sw; m_auto_refresh_run.store(false, std::memory_order_relaxed); \ /* stop any background refresh, and take over */ \ m_wallet->stop(); \ - boost::unique_lock<boost::mutex> lock(m_auto_refresh_mutex); \ + m_auto_refresh_mutex.lock(); \ m_auto_refresh_cond.notify_one(); \ + m_auto_refresh_mutex.unlock(); \ + if (auto_refresh_run) \ + m_auto_refresh_thread.join(); \ + boost::unique_lock<boost::mutex> lock(m_auto_refresh_mutex); \ epee::misc_utils::auto_scope_leave_caller scope_exit_handler = epee::misc_utils::create_scope_leave_handler([&](){ \ m_auto_refresh_run.store(auto_refresh_run, std::memory_order_relaxed); \ if (auto_refresh_run) \ |