diff --git a/rai/node/node.cpp b/rai/node/node.cpp index 566973a4..1120e1ac 100644 --- a/rai/node/node.cpp +++ b/rai/node/node.cpp @@ -3000,15 +3000,14 @@ void rai::active_transactions::announce_loop () void rai::active_transactions::stop () { + std::unique_lock lock (mutex); + while (!started) { - std::unique_lock lock (mutex); - while (!started) - { - condition.wait (lock); - } - stopped = true; - condition.notify_all (); + condition.wait (lock); } + stopped = true; + condition.notify_all (); + lock.unlock (); if (thread.joinable ()) { thread.join ();