diff --git a/src/search.cpp b/src/search.cpp index d4cac16d..dbc9f0c6 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -940,7 +940,7 @@ moves_loop: // When in check and at SpNode search starts from here // value of the search cannot be trusted, and we return immediately without // updating best move, PV and TT. if (Signals.stop || thisThread->cutoff_occurred()) - return VALUE_DRAW; + return VALUE_ZERO; if (RootNode) { @@ -997,6 +997,10 @@ moves_loop: // When in check and at SpNode search starts from here thisThread->split(pos, ss, alpha, beta, &bestValue, &bestMove, depth, moveCount, &mp, NT, cutNode); + + if (Signals.stop || thisThread->cutoff_occurred()) + return VALUE_ZERO; + if (bestValue >= beta) break; }