X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fthread.cpp;h=631834da4b9f60c159facb502b5f7e2c0ac3fe04;hp=fe7a669b8e66f989d990e89f9e24127afe1848f4;hb=ce159b16b9483f83b9e96ac6bf3d6e2ba7e5619c;hpb=c2fc80e5d16339266b5bf6687fa843ff65de3b3e diff --git a/src/thread.cpp b/src/thread.cpp index fe7a669b..631834da 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -313,12 +313,13 @@ Value ThreadsManager::split(Position& pos, Stack* ss, Value alpha, Value beta, return bestValue; // Pick the next available split point from the split point stack - SplitPoint* sp = &master->splitPoints[master->splitPointsCnt++]; + SplitPoint* sp = &master->splitPoints[master->splitPointsCnt]; sp->parent = master->curSplitPoint; sp->master = master; sp->cutoff = false; sp->slavesMask = 1ULL << master->idx; + sp->allSlavesRunning = true; sp->depth = depth; sp->bestMove = *bestMove; sp->threatMove = threatMove; @@ -357,6 +358,8 @@ Value ThreadsManager::split(Position& pos, Stack* ss, Value alpha, Value beta, break; } + master->splitPointsCnt++; + lock_release(splitLock); lock_release(sp->lock); @@ -434,7 +437,7 @@ void ThreadsManager::start_searching(const Position& pos, const LimitsType& limi Signals.stopOnPonderhit = Signals.firstRootMove = false; Signals.stop = Signals.failedLowAtRoot = false; - RootPosition.copy(pos, main_thread()); + RootPosition = pos; Limits = limits; RootMoves.clear();