| 545 | } |
| 546 | |
| 547 | void scheduler_t::sync(event_t event) |
| 548 | { |
| 549 | SkrZoneScopedN("SyncEvent"); |
| 550 | auto worker = currentWorker; |
| 551 | SKR_ASSERT(worker == nullptr); |
| 552 | worker = (Worker*)mainWorker; |
| 553 | SMutexLock guard(worker->work.mutex); |
| 554 | int i = 0; |
| 555 | while(!event.done()) |
| 556 | { |
| 557 | skr_mutex_release(&worker->work.mutex); |
| 558 | i = worker->stealWork(i); |
| 559 | skr_mutex_acquire(&worker->work.mutex); |
| 560 | worker->runUntilIdle(); |
| 561 | } |
| 562 | } |
| 563 | |
| 564 | void scheduler_t::sync(counter_t counter) |
| 565 | { |
no test coverage detected