Simplify finished search in ponder/infinite mode.

In this rare case (e.g. go infinite on a stalemate),
just spin till ponderhit/stop comes.

The Thread::wait() is a renmant of the old YBWC
code, today with lazy SMP, threads don't need to
wait when outside of their idle loop.

No functional change.
This commit is contained in:
Joost VandeVondele
2017-08-04 19:48:07 +02:00
committed by Marco Costalba
parent 66c5eaebd8
commit 2783203428
4 changed files with 10 additions and 25 deletions

View File

@@ -68,24 +68,12 @@ void Thread::wait_for_search_finished() {
}
/// Thread::wait() waits on sleep condition until condition is true
void Thread::wait(std::atomic_bool& condition) {
std::unique_lock<Mutex> lk(mutex);
sleepCondition.wait(lk, [&]{ return bool(condition); });
}
/// Thread::start_searching() wakes up the thread that will start the search
void Thread::start_searching(bool resume) {
void Thread::start_searching() {
std::unique_lock<Mutex> lk(mutex);
if (!resume)
searching = true;
searching = true;
sleepCondition.notify_one();
}