提交 4f527af4 编写于 作者: M Megvii Engine Team

chore(mbg/core): fix the repeat code

GitOrigin-RevId: 3d4c91a2c958ca44fc4eba74bda1f0f2acbc659d
上级 1f8e4075
......@@ -675,27 +675,7 @@ class CpuCompNodeImpl::CpuEventImpl final
: public CpuDispatchableBase::EventImpl {
#if MGB_HAVE_THREAD
void host_wait_cv() override {
for (size_t i = 0, it = SCQueueSynchronizer::max_spin() / 20; i < it;
++i) {
if (finished()) {
auto thread_pool =
static_cast<CpuCompNodeImpl*>(m_comp_node_impl)
->get_thread_pool();
if (thread_pool) {
thread_pool->deactive();
}
return;
}
}
m_dev_wait_nr_waiter.fetch_add(1, std::memory_order_release);
for (;;) {
std::unique_lock<std::mutex> lock{m_dev_wait_mtx};
if (finished()) {
break;
}
m_dev_wait_cv.wait(lock);
}
m_dev_wait_nr_waiter.fetch_sub(1, std::memory_order_release);
CpuDispatchableBase::EventImpl::host_wait_cv();
auto thread_pool = static_cast<CpuCompNodeImpl*>(m_comp_node_impl)
->get_thread_pool();
if (thread_pool) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册