X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fthread.cpp;h=2dcbf91093dc7379d0281ccae235838d9c99f031;hb=adb71b8096436a54bf2326d5c69991b16ba5bafa;hp=6a5454faa9ed5abc0dc07a06ab585cb7b5f0bea8;hpb=22e294e044ef60d40b94f24393d3dd18bc0bff71;p=stockfish diff --git a/src/thread.cpp b/src/thread.cpp index 6a5454fa..2dcbf910 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -419,6 +419,7 @@ void ThreadsManager::wait_for_search_finished() { Thread* main = threads[0]; lock_grab(main->sleepLock); + cond_signal(main->sleepCond); // In case is waiting for stop or ponderhit while (!main->do_sleep) cond_wait(sleepCond, main->sleepLock); lock_release(main->sleepLock); } @@ -431,6 +432,8 @@ void ThreadsManager::start_searching(const Position& pos, const LimitsType& limi const std::set& searchMoves) { wait_for_search_finished(); + SearchTime.restart(); // As early as possible + Signals.stopOnPonderhit = Signals.firstRootMove = false; Signals.stop = Signals.failedLowAtRoot = false;