Describe the bug
The current implementation of barriers (all of them!) assumes that once a thread has entered a barrier only the barrier code needs to execute. That is incorrect, since other threads (which have not yet entered the barrier) may create tasks that a thread inside the barrier could execute.
The barrier polling code needs to be calling out to the tasking code to allow tasks to be executed even though a thread has checked in to the barrier.
To Reproduce
Read the code.
Expected behavior
Threads which have checked into a barrier should still be looking for tasks to execute.
Desktop (please complete the following information):
Describe the bug The current implementation of barriers (all of them!) assumes that once a thread has entered a barrier only the barrier code needs to execute. That is incorrect, since other threads (which have not yet entered the barrier) may create tasks that a thread inside the barrier could execute.
The barrier polling code needs to be calling out to the tasking code to allow tasks to be executed even though a thread has checked in to the barrier.
To Reproduce Read the code.
Expected behavior Threads which have checked into a barrier should still be looking for tasks to execute.
Desktop (please complete the following information):