void EventBaseOnDestructionCallback::runLoopCallback() noexcept { auto fm = GlobalCache::erase(evb_); DCHECK(fm.get() != nullptr); ThreadLocalCache::erase(evb_); fm->loopUntilNoReady(); delete this; }
void EventBaseOnDestructionCallback::runLoopCallback() noexcept { auto fm = GlobalCache::erase(evb_); DCHECK(fm.get() != nullptr); ThreadLocalCache::erase(evb_); while (fm->hasTasks()) { fm->loopUntilNoReady(); evb_.loopOnce(); } delete this; }