1
0
Fork 0
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:
Marco Costalba 2011-11-10 09:20:41 +01:00
parent ecb98a3330
commit 44c78fdb7a

View file

@ -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);