Reformat all_slaves_finished()

Rename and move under ThreadsManager class.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba
2011-11-06 13:37:18 +01:00
parent 369789b426
commit 43204d9ac2
3 changed files with 17 additions and 15 deletions
+3 -15
View File
@@ -2071,22 +2071,10 @@ split_point_start: // At split points actual search starts from here
do pos.undo_move(pv[--ply]); while (ply);
}
} // namespace
// Little helper used by idle_loop() to check that all the slave threads of a
// split point have finished searching.
static bool all_slaves_finished(SplitPoint* sp) {
for (int i = 0; i < Threads.size(); i++)
if (sp->is_slave[i])
return false;
return true;
}
// Thread::idle_loop() is where the thread is parked when it has no work to do.
// The parameter 'sp', if non-NULL, is a pointer to an active SplitPoint object
// for which the thread is the master.
@@ -2114,7 +2102,7 @@ void Thread::idle_loop(SplitPoint* sp) {
lock_grab(&sleepLock);
// If we are master and all slaves have finished don't go to sleep
if (sp && all_slaves_finished(sp))
if (sp && Threads.split_point_finished(sp))
{
lock_release(&sleepLock);
break;
@@ -2166,7 +2154,7 @@ void Thread::idle_loop(SplitPoint* sp) {
// If this thread is the master of a split point and all slaves have
// finished their work at this split point, return from the idle loop.
if (sp && all_slaves_finished(sp))
if (sp && Threads.split_point_finished(sp))
{
// Because sp->is_slave[] is reset under lock protection,
// be sure sp->lock has been released before to return.