X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fsearch.cpp;h=5539b5294ac294fab381a60e5f89dd5d989a4640;hb=8b99e9456241706b3d61fd6b165e57d14618e568;hp=38e2ac14084a26442fdafa19581f5843ec1dc897;hpb=512a4e4ff044aeddebc0df42b7fbabb365f9a22d;p=stockfish diff --git a/src/search.cpp b/src/search.cpp index 38e2ac14..5539b529 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -2650,6 +2650,8 @@ namespace { // If this thread has been assigned work, launch a search if (threads[threadID].state == THREAD_WORKISWAITING) { + assert(!AllThreadsShouldExit); + threads[threadID].state = THREAD_SEARCHING; if (threads[threadID].splitPoint->pvNode) @@ -2659,13 +2661,7 @@ namespace { assert(threads[threadID].state == THREAD_SEARCHING); - // If this is a slave thread reset to available, instead - // if it is a master thread and all slaves have finished - // then leave as is to avoid booking by another master, - // we will leave idle loop shortly anyhow. - if ( !AllThreadsShouldExit - && (!waitSp || waitSp->cpus > 0)) - threads[threadID].state = THREAD_AVAILABLE; + threads[threadID].state = THREAD_AVAILABLE; } // If this thread is the master of a split point and all threads have