X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=4408475341ac9deea60df927609c4bfd61e79ae0;hp=0f2373cd28fd28838c1e79990c5d26349ae554a2;hb=be9aba2fa0b9c9fa1d55a3c9bc87def967fa5911;hpb=35018fa3076a01a62bd4433771c5832d0ddc52e8 diff --git a/src/search.cpp b/src/search.cpp index 0f2373cd..44084753 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -2158,17 +2158,16 @@ void Thread::idle_loop(SplitPoint* sp) { { assert((!sp && threadID) || Threads.use_sleeping_threads()); - // Grab the lock to avoid races with Thread::wake_up() - lock_grab(&sleepLock); - // Slave thread should exit as soon as do_terminate flag raises if (do_terminate) { assert(!sp); - lock_release(&sleepLock); return; } + // Grab the lock to avoid races with Thread::wake_up() + lock_grab(&sleepLock); + // If we are master and all slaves have finished don't go to sleep if (sp && all_slaves_finished(sp)) {