X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fthread.cpp;h=60c0ce71c683b0f917a8b2e28535eb8ff2548b2f;hp=9e96be6eb7fa326d79b91761fe1aae73e232af8d;hb=a1a7bc84da4a6f180179e437494dd485cba1711d;hpb=6e4b4c42ed796652d122e2116561e9ad3848c641 diff --git a/src/thread.cpp b/src/thread.cpp index 9e96be6e..60c0ce71 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -88,7 +88,7 @@ Thread::Thread() /* : splitPoints() */ { // Value-initialization bug in MSVC maxPly = splitPointsSize = 0; activeSplitPoint = NULL; activePosition = NULL; - idx = Threads.size(); + idx = Threads.size(); // Starts from 0 } @@ -213,9 +213,8 @@ void ThreadPool::exit() { void ThreadPool::read_uci_options() { - maxThreadsPerSplitPoint = Options["Max Threads per Split Point"]; - minimumSplitDepth = Options["Min Split Depth"] * ONE_PLY; - size_t requested = Options["Threads"]; + minimumSplitDepth = Options["Min Split Depth"] * ONE_PLY; + size_t requested = Options["Threads"]; assert(requested > 0); @@ -297,12 +296,12 @@ void Thread::split(Position& pos, const Stack* ss, Value alpha, Value beta, Valu activeSplitPoint = &sp; activePosition = NULL; - size_t slavesCnt = 1; // This thread is always included + int slavesCnt = 1; // This thread is always included Thread* slave; - while ( (slave = Threads.available_slave(this)) != NULL - && ++slavesCnt <= Threads.maxThreadsPerSplitPoint && !Fake) + while (!Fake && (slave = Threads.available_slave(this)) != NULL) { + ++slavesCnt; sp.slavesMask |= 1ULL << slave->idx; slave->activeSplitPoint = &sp; slave->searching = true; // Slave leaves idle_loop()