diff options
| author | Dan Engelbrecht <[email protected]> | 2022-03-22 18:30:28 +0100 |
|---|---|---|
| committer | Dan Engelbrecht <[email protected]> | 2022-03-31 11:29:17 +0200 |
| commit | 8a33fbec64f0b9e95feea3a677a56fc34dfbd7c0 (patch) | |
| tree | 8cf18d57849b7c598722b21f64514cc6e8f4a4fc /zencore | |
| parent | WIP (diff) | |
| download | zen-8a33fbec64f0b9e95feea3a677a56fc34dfbd7c0.tar.xz zen-8a33fbec64f0b9e95feea3a677a56fc34dfbd7c0.zip | |
Add Flush to workthreadpool
Diffstat (limited to 'zencore')
| -rw-r--r-- | zencore/include/zencore/workthreadpool.h | 1 | ||||
| -rw-r--r-- | zencore/workthreadpool.cpp | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/zencore/include/zencore/workthreadpool.h b/zencore/include/zencore/workthreadpool.h index 0ddc65298..85054fca7 100644 --- a/zencore/include/zencore/workthreadpool.h +++ b/zencore/include/zencore/workthreadpool.h @@ -36,6 +36,7 @@ public: void ScheduleWork(Ref<IWork> Work); void ScheduleWork(std::function<void()>&& Work); + void Flush(); [[nodiscard]] size_t PendingWork() const; private: diff --git a/zencore/workthreadpool.cpp b/zencore/workthreadpool.cpp index 4291d1581..a6c6bc0f7 100644 --- a/zencore/workthreadpool.cpp +++ b/zencore/workthreadpool.cpp @@ -55,6 +55,15 @@ WorkerThreadPool::PendingWork() const } void +WorkerThreadPool::Flush() +{ + while (m_WorkQueue.Size() > 0) + { + Sleep(1); + } +} + +void WorkerThreadPool::WorkerThreadFunction() { do |