fix: add missing item in AsstMsg

This commit is contained in:
Horror Proton
2023-03-28 11:19:24 +08:00
parent 7e74084e82
commit 69abc9868a
2 changed files with 10 additions and 3 deletions

View File

@@ -478,10 +478,16 @@ void asst::Assistant::async_call(std::function<bool(void)> func, int async_call_
if (!block) {
std::unique_lock lock(m_call_pending_mutex);
m_call_pending.remove_if([](const std::future<void>& fut) {
return fut.wait_for(std::chrono::seconds::zero()) == std::future_status::ready;
m_call_pending.remove_if([](std::future<void>& fut) {
if (fut.wait_for(std::chrono::seconds::zero()) == std::future_status::ready) {
fut.get();
return true;
}
return false;
});
m_call_pending.emplace_back(std::move(future));
}
// else 会等待 future 析构,是阻塞的
else {
future.get();
}
}