]> git.sesse.net Git - stockfish/blobdiff - src/thread.cpp
Async 'stop' command
[stockfish] / src / thread.cpp
index c9cce8d0c6c2240aea7b92234062d68c7361e63b..b599960528a00d2e67c0948d9a93146a04e14023 100644 (file)
@@ -143,7 +143,7 @@ void Thread::wait_for_stop_or_ponderhit() {
   Signals.stopOnPonderhit = true;
 
   mutex.lock();
   Signals.stopOnPonderhit = true;
 
   mutex.lock();
-  while (!Signals.stop) sleepCondition.wait(mutex);;
+  while (!Signals.stop) sleepCondition.wait(mutex);
   mutex.unlock();
 }
 
   mutex.unlock();
 }
 
@@ -404,7 +404,6 @@ void ThreadPool::wait_for_search_finished() {
 
   Thread* t = main_thread();
   t->mutex.lock();
 
   Thread* t = main_thread();
   t->mutex.lock();
-  t->sleepCondition.notify_one(); // In case is waiting for stop or ponderhit
   while (!t->do_sleep) sleepCondition.wait(t->mutex);
   t->mutex.unlock();
 }
   while (!t->do_sleep) sleepCondition.wait(t->mutex);
   t->mutex.unlock();
 }
@@ -422,7 +421,7 @@ void ThreadPool::start_searching(const Position& pos, const LimitsType& limits,
   Signals.stopOnPonderhit = Signals.firstRootMove = false;
   Signals.stop = Signals.failedLowAtRoot = false;
 
   Signals.stopOnPonderhit = Signals.firstRootMove = false;
   Signals.stop = Signals.failedLowAtRoot = false;
 
-  RootPosition = pos;
+  RootPos = pos;
   Limits = limits;
   SetupStates = states; // Ownership transfer here
   RootMoves.clear();
   Limits = limits;
   SetupStates = states; // Ownership transfer here
   RootMoves.clear();