From 8a6b743d2a310f6acd9e4d8a3284fdd7ba94fe50 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Sat, 10 Jul 2021 21:50:19 +0100 Subject: [PATCH] Simplify `thread_pool_wait_to_process` --- src/thread_pool.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/thread_pool.cpp b/src/thread_pool.cpp index 9e178b833..fdd86a3e0 100644 --- a/src/thread_pool.cpp +++ b/src/thread_pool.cpp @@ -124,6 +124,13 @@ void thread_pool_do_work(ThreadPool *pool, WorkerTask *task) { } void thread_pool_wait_to_process(ThreadPool *pool) { + if (pool->thread_count == 0) { + WorkerTask task = {}; + while (thread_pool_try_and_pop_task(pool, &task)) { + thread_pool_do_work(pool, &task); + } + return; + } while (pool->tasks.count.load(std::memory_order_relaxed) > 0 || gb_atomic32_load(&pool->processing_work_count) != 0) { WorkerTask task = {}; if (thread_pool_try_and_pop_task(pool, &task)) {