30 bool exchanged =
globalManager.compare_exchange_strong(mgr, new_mgr);
45 if (info !=
nullptr) {
46 throw std::runtime_error(
47 "EventBaseManager: cannot set a new EventBase " 48 "for this thread when one already exists");
58 if (info !=
nullptr) {
86 return info->eventBase;
EventBase * getEventBase() const
void setEventBase(EventBase *eventBase, bool takeOwnership)
—— Concurrent Priority Queue Implementation ——
void untrackEventBase(EventBase *evb)
static EventBaseManager * get()
std::shared_ptr< folly::EventBaseObserver > observer_
std::atomic< EventBaseManager * > globalManager(nullptr)
folly::ThreadLocalPtr< EventBaseInfo > localStore_
void trackEventBase(EventBase *evb)