- sp.slavesMask.set(slave->idx);
- slave->activeSplitPoint = activeSplitPoint;
- slave->searching = true; // Slave leaves idle_loop()
+ slave->allocMutex.lock();
+
+ if (slave->can_join(activeSplitPoint))
+ {
+ activeSplitPoint->slavesMask.set(slave->idx);
+ slave->activeSplitPoint = activeSplitPoint;
+ slave->searching = true;
+ }
+
+ slave->allocMutex.unlock();
+