aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2016-04-14 16:25:53 +0900
committerRiccardo Spagni <ric@spagni.net>2016-04-14 16:25:53 +0900
commit8f78f1407ef0185cec372321fd49633014ed7edf (patch)
treeedd2489e3791027aa4313563a93d82870bce1f96 /src
parentMerge pull request #783 (diff)
parentFix potential race with parallel processing of txes/signatures/blocks (diff)
downloadmonero-8f78f1407ef0185cec372321fd49633014ed7edf.tar.xz
Merge pull request #784
087373e Fix potential race with parallel processing of txes/signatures/blocks (moneromooo-monero)
Diffstat (limited to 'src')
-rw-r--r--src/cryptonote_core/blockchain.cpp1
-rw-r--r--src/wallet/wallet2.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp
index c19230176..70cbaf0fd 100644
--- a/src/cryptonote_core/blockchain.cpp
+++ b/src/cryptonote_core/blockchain.cpp
@@ -2143,6 +2143,7 @@ bool Blockchain::check_tx_inputs(const transaction& tx, tx_verification_context
if(ioservice_active) \
{ \
work.reset(); \
+ while (!ioservice.stopped()) ioservice.poll(); \
threadpool.join_all(); \
ioservice.stop(); \
ioservice_active = false; \
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp
index 5de300ecf..14da8d7a2 100644
--- a/src/wallet/wallet2.cpp
+++ b/src/wallet/wallet2.cpp
@@ -73,6 +73,7 @@ using namespace cryptonote;
#define KILL_IOSERVICE() \
do { \
work.reset(); \
+ while (!ioservice.stopped()) ioservice.poll(); \
threadpool.join_all(); \
ioservice.stop(); \
} while(0)