diff --git a/thread/workerpool.cpp b/thread/workerpool.cpp index 9833794d..7b204656 100644 --- a/thread/workerpool.cpp +++ b/thread/workerpool.cpp @@ -57,6 +57,7 @@ class WorkPool::impl { for (auto num = vcpus.size(); num; --num) enqueue({}); for (auto &worker : owned_std_threads) worker.join(); while (vcpus.size()) std::this_thread::yield(); + worker_lock.lock(); } void enqueue(Delegate call, AutoContext = {}) {