if (token == "quit" || token == "stop")
{
Search::Signals.stop = true;
- Threads.wait_for_search_finished(); // Cannot quit while threads are running
+
+ if (token == "quit") // Cannot quit while threads are still running
+ Threads.wait_for_search_finished();
}
else if (token == "ponderhit")
Search::Limits.ponder = false;
if (Search::Signals.stopOnPonderhit)
- {
Search::Signals.stop = true;
- Threads.wait_for_search_finished();
- }
}
else if (token == "go")
limits.time = time[pos.side_to_move()];
limits.increment = inc[pos.side_to_move()];
- Threads.start_searching(pos, limits, searchMoves, true);
+ Threads.start_searching(pos, limits, searchMoves);
}