// Here we have the lock still grabbed
sp->is_slave[pos.thread()] = false;
sp->nodes += pos.nodes_searched();
// Here we have the lock still grabbed
sp->is_slave[pos.thread()] = false;
sp->nodes += pos.nodes_searched();
// If we are master and all slaves have finished don't go to sleep
if (sp && Threads.split_point_finished(sp))
{
// If we are master and all slaves have finished don't go to sleep
if (sp && Threads.split_point_finished(sp))
{
// in the meanwhile, allocated us and sent the wake_up() call before we
// had the chance to grab the lock.
if (do_sleep || !is_searching)
// in the meanwhile, allocated us and sent the wake_up() call before we
// had the chance to grab the lock.
if (do_sleep || !is_searching)
{
// Because sp->is_slave[] is reset under lock protection,
// be sure sp->lock has been released before to return.
{
// Because sp->is_slave[] is reset under lock protection,
// be sure sp->lock has been released before to return.