diff --git a/src/common/task_queue.cpp b/src/common/task_queue.cpp index d240e35ef..2478208a9 100644 --- a/src/common/task_queue.cpp +++ b/src/common/task_queue.cpp @@ -43,6 +43,14 @@ void TaskQueue::SetWorkerCount(u32 count) void TaskQueue::SubmitTask(TaskFunctionType func) { std::unique_lock lock(m_mutex); + + if (m_threads.empty()) [[unlikely]] + { + lock.unlock(); + func(); + return; + } + m_tasks.push_back(std::move(func)); m_tasks_outstanding++; m_task_wait_cv.notify_one();