Fix potential race with parallel processing of txes/signatures/blocks
This commit is contained in:
parent
e7c8a32a28
commit
087373eccf
|
@ -2159,6 +2159,7 @@ bool Blockchain::check_tx_inputs(const transaction& tx, tx_verification_context
|
||||||
if(ioservice_active) \
|
if(ioservice_active) \
|
||||||
{ \
|
{ \
|
||||||
work.reset(); \
|
work.reset(); \
|
||||||
|
while (!ioservice.stopped()) ioservice.poll(); \
|
||||||
threadpool.join_all(); \
|
threadpool.join_all(); \
|
||||||
ioservice.stop(); \
|
ioservice.stop(); \
|
||||||
ioservice_active = false; \
|
ioservice_active = false; \
|
||||||
|
|
|
@ -73,6 +73,7 @@ using namespace cryptonote;
|
||||||
#define KILL_IOSERVICE() \
|
#define KILL_IOSERVICE() \
|
||||||
do { \
|
do { \
|
||||||
work.reset(); \
|
work.reset(); \
|
||||||
|
while (!ioservice.stopped()) ioservice.poll(); \
|
||||||
threadpool.join_all(); \
|
threadpool.join_all(); \
|
||||||
ioservice.stop(); \
|
ioservice.stop(); \
|
||||||
} while(0)
|
} while(0)
|
||||||
|
|
Loading…
Reference in New Issue