mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-26 03:56:50 +08:00
Re-apply the fix for Limits::ponder race
But this time correctly set Threads.ponder We avoid using 'limits' for passing pondering flag because we don't want to have 2 ponder variables in search scope: Search::Limits.ponder and Threads.ponder. This would be confusing also because limits.ponder is set at the beginning of the search and never changes, instead Threads.ponder can change value asynchronously during search. No functional change.
This commit is contained in:
@@ -72,14 +72,13 @@ typedef std::vector<RootMove> RootMoves;
|
||||
|
||||
|
||||
/// LimitsType struct stores information sent by GUI about available time to
|
||||
/// search the current move, maximum depth/time, if we are in analysis mode or
|
||||
/// if we have to ponder while it's our opponent's turn to move.
|
||||
/// search the current move, maximum depth/time, or if we are in analysis mode.
|
||||
|
||||
struct LimitsType {
|
||||
|
||||
LimitsType() { // Init explicitly due to broken value-initialization of non POD in MSVC
|
||||
nodes = time[WHITE] = time[BLACK] = inc[WHITE] = inc[BLACK] =
|
||||
npmsec = movestogo = depth = movetime = mate = infinite = ponder = 0;
|
||||
npmsec = movestogo = depth = movetime = mate = infinite = 0;
|
||||
}
|
||||
|
||||
bool use_time_management() const {
|
||||
@@ -87,7 +86,7 @@ struct LimitsType {
|
||||
}
|
||||
|
||||
std::vector<Move> searchmoves;
|
||||
int time[COLOR_NB], inc[COLOR_NB], npmsec, movestogo, depth, movetime, mate, infinite, ponder;
|
||||
int time[COLOR_NB], inc[COLOR_NB], npmsec, movestogo, depth, movetime, mate, infinite;
|
||||
int64_t nodes;
|
||||
TimePoint startTime;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user