| 286 | } |
| 287 | |
| 288 | void TaskScheduler::join() |
| 289 | { |
| 290 | mutex.lock(); |
| 291 | size_t threadIndex = allocThreadIndex(); |
| 292 | condition.wait(mutex, [&] () { return hasRootTask.load(); }); |
| 293 | mutex.unlock(); |
| 294 | thread_loop(threadIndex); |
| 295 | } |
| 296 | |
| 297 | void TaskScheduler::reset() { |
| 298 | hasRootTask = false; |