mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Fix regression: engine hangs while pondering
After a "stop" due to a ponder miss Xboard sends immediately the new position to search, without waiting for engine to effectively stop the search. It is not clear if this is a GUI bug (as I suspect) or allowed behaviour, but because it won't be fixed anyway workaround this issue making listener thread to switch to in-sync mode as soon as a "stop" command is received. Thanks to Mike Whiteley for reporting this. No functional change. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
ecb98a3330
commit
44c78fdb7a
1 changed files with 4 additions and 2 deletions
|
@ -433,8 +433,10 @@ void Thread::listener_loop() {
|
|||
if (is_searching)
|
||||
{
|
||||
// Command "quit" is the last one received by the GUI, so park the
|
||||
// thread waiting for exiting.
|
||||
if (cmd == "quit")
|
||||
// thread waiting for exiting. Also, after a "stop", for instance on a
|
||||
// ponder miss, GUI can immediately send the new position to search,
|
||||
// so return to in-sync mode to avoid discarding good data.
|
||||
if (cmd == "quit" || cmd == "stop")
|
||||
is_searching = false;
|
||||
|
||||
do_uci_async_cmd(cmd);
|
||||
|
|
Loading…
Add table
Reference in a new issue