X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fsearch.cpp;h=438a01be6c8ed7defbf765430f0404c3a0f37ca1;hp=c163e8eac590cade95af87ccab64189b38c0a677;hb=8f7d36a85dda6e6611d1ee66ceb69949feb8513e;hpb=e7cfe42d3f5bf385bcfafebeabd9eb887f0f21ce diff --git a/src/search.cpp b/src/search.cpp index c163e8ea..438a01be 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1244,9 +1244,11 @@ split_point_start: // At split points actual search starts from here } // Step 20. Check for mate and stalemate - // All legal moves have been searched and if there are - // no legal moves, it must be mate or stalemate. - // If one move was excluded return fail low score. + // All legal moves have been searched and if there are no legal moves, it + // must be mate or stalemate. Note that we can have a false positive in + // case of StopRequest or thread.cutoff_occurred() are set, but this is + // harmless because return value is discarded anyhow in the parent nodes. + // If we are in a singular extension search then return a fail low score. if (!SpNode && !moveCount) return excludedMove ? oldAlpha : inCheck ? value_mated_in(ss->ply) : VALUE_DRAW;