Use loopKeepAlive() mechanism in FiberManager
[folly.git] / folly / fibers / EventBaseLoopController.h
index 017b75228af66511c36d52e5ff40fc606b118c92..80dd6667677cb73ecbcc56ac19a4894e113722a4 100644 (file)
@@ -91,6 +91,7 @@ class EventBaseLoopController : public LoopController {
 
   bool awaitingScheduling_{false};
   folly::EventBase* eventBase_{nullptr};
+  folly::EventBase::LoopKeepAlive eventBaseKeepAlive_;
   ControllerCallback callback_;
   DestructionCallback destructionCallback_;
   FiberManager* fm_{nullptr};
@@ -103,7 +104,7 @@ class EventBaseLoopController : public LoopController {
   void setFiberManager(FiberManager* fm) override;
   void schedule() override;
   void cancel() override;
-  void runLoop();
+  void runLoop() override;
   void scheduleThreadSafe(std::function<bool()> func) override;
   void timedSchedule(std::function<void()> func, TimePoint time) override;