From: Marco Costalba Date: Sat, 6 Aug 2011 09:56:06 +0000 (+0100) Subject: Fix an assert when stopping the search X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=b9f8cb78372773128257866881f632bce0884aed Fix an assert when stopping the search When StopRequest is raised we cannot immediately exit the move loop but first we need to update bestValue so to avoid assert: assert(bestValue > -VALUE_INFINITE && bestValue < VALUE_INFINITE); No functional change. Signed-off-by: Marco Costalba --- diff --git a/src/search.cpp b/src/search.cpp index cc910f7d..833bbba4 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1171,16 +1171,12 @@ split_point_start: // At split points actual search starts from here } - if (RootNode) + // Finished searching the move. If StopRequest is true, the search + // was aborted because the user interrupted the search or because we + // ran out of time. In this case, the return value of the search cannot + // be trusted, and we don't update the best move and/or PV. + if (RootNode && !StopRequest) { - // Finished searching the move. If StopRequest is true, the search - // was aborted because the user interrupted the search or because we - // ran out of time. In this case, the return value of the search cannot - // be trusted, and we break out of the loop without updating the best - // move and/or PV. - if (StopRequest) - break; - // Remember searched nodes counts for this move RootMove* rm = Rml.find(move); rm->nodes += pos.nodes_searched() - nodes;