diff --git a/tools/dhtnode.cpp b/tools/dhtnode.cpp index a29495fb..add30dc2 100644 --- a/tools/dhtnode.cpp +++ b/tools/dhtnode.cpp @@ -578,15 +578,19 @@ main(int argc, char **argv) std::mutex m; bool done {false}; - node->shutdown([&]() - { - done = true; + node->shutdown([&]() { + { + std::lock_guard lk(m); + done = true; + } cv.notify_all(); }); // wait for shutdown - std::unique_lock lk(m); - cv.wait(lk, [&](){ return done; }); + { + std::unique_lock lk(m); + cv.wait(lk, [&](){ return done; }); + } node->join(); #ifdef WIN32_NATIVE