From d29a68f5854d0b529f2e0447fddcc6a61200c5aa Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sat, 18 Oct 2014 07:44:08 +0200 Subject: [PATCH 1/1] Rearrange check_time() Remove an ugly workaround for a gcc warning while there. No functional change. --- src/search.cpp | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/search.cpp b/src/search.cpp index f6cf7090..8099787e 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -1541,7 +1541,7 @@ void Thread::idle_loop() { void check_time() { static Time::point lastInfoTime = Time::now(); - int64_t nodes = 0; // Workaround silly 'uninitialized' gcc warning + Time::point elapsed = Time::now() - SearchTime; if (Time::now() - lastInfoTime >= 1000) { @@ -1549,14 +1549,24 @@ void check_time() { dbg_print(); } - if (Limits.ponder) - return; + if (Limits.use_time_management() && !Limits.ponder) + { + bool stillAtFirstMove = Signals.firstRootMove + && !Signals.failedLowAtRoot + && elapsed > TimeMgr.available_time() * 75 / 100; + + if ( stillAtFirstMove + || elapsed > TimeMgr.maximum_time() - 2 * TimerThread::Resolution) + Signals.stop = true; + } + else if (Limits.movetime && elapsed >= Limits.movetime) + Signals.stop = true; - if (Limits.nodes) + else if (Limits.nodes) { Threads.mutex.lock(); - nodes = RootPos.nodes_searched(); + int nodes = RootPos.nodes_searched(); // Loop across all split points and sum accumulated SplitPoint nodes plus // all the currently active positions nodes. @@ -1577,18 +1587,8 @@ void check_time() { } Threads.mutex.unlock(); - } - Time::point elapsed = Time::now() - SearchTime; - bool stillAtFirstMove = Signals.firstRootMove - && !Signals.failedLowAtRoot - && elapsed > TimeMgr.available_time() * 75 / 100; - - bool noMoreTime = elapsed > TimeMgr.maximum_time() - 2 * TimerThread::Resolution - || stillAtFirstMove; - - if ( (Limits.use_time_management() && noMoreTime) - || (Limits.movetime && elapsed >= Limits.movetime) - || (Limits.nodes && nodes >= Limits.nodes)) - Signals.stop = true; + if (nodes >= Limits.nodes) + Signals.stop = true; + } } -- 2.39.2