From: Andrii Grynenko Date: Fri, 19 Feb 2016 19:19:18 +0000 (-0800) Subject: Fix EventBaseOnDestructionCallback to loop FiberManager X-Git-Tag: deprecate-dynamic-initializer~55 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=95ade4c9ccc4e31f5fbe094ac0702207045023a9;p=folly.git Fix EventBaseOnDestructionCallback to loop FiberManager Summary: EventBase loop should do it as well, but it's possible for LoopCallback to be removed before EventBaseOnDestructionCallback. Reviewed By: pavlo-fb Differential Revision: D2951303 fb-gh-sync-id: 43f5a91e7ecffa7ab7feec32fa45e01b28db66a3 shipit-source-id: 43f5a91e7ecffa7ab7feec32fa45e01b28db66a3 --- diff --git a/folly/experimental/fibers/FiberManagerMap.cpp b/folly/experimental/fibers/FiberManagerMap.cpp index 851a25f4..93eb48ac 100644 --- a/folly/experimental/fibers/FiberManagerMap.cpp +++ b/folly/experimental/fibers/FiberManagerMap.cpp @@ -169,6 +169,7 @@ void EventBaseOnDestructionCallback::runLoopCallback() noexcept { ThreadLocalCache::erase(evb_); while (fm->hasTasks()) { + fm->loopUntilNoReady(); evb_.loopOnce(); }