/**
* Keeps running ready tasks until the list of ready tasks is empty.
- *
- * @return True if there are any waiting tasks remaining.
*/
- bool loopUntilNoReady();
+ void loopUntilNoReady();
+
+ /**
+ * This should only be called by a LoopController.
+ */
+ void loopUntilNoReadyImpl();
/**
* @return true if there are outstanding tasks.
AtomicIntrusiveLinkedListHook<RemoteTask> nextRemoteTask;
};
- intptr_t activateFiber(Fiber* fiber);
- intptr_t deactivateFiber(Fiber* fiber);
+ void activateFiber(Fiber* fiber);
+ void deactivateFiber(Fiber* fiber);
typedef folly::IntrusiveList<Fiber, &Fiber::listHook_> FiberTailQueue;
typedef folly::IntrusiveList<Fiber, &Fiber::globalListHook_>
*/
size_t maxFibersActiveLastPeriod_{0};
- FContext::ContextStruct mainContext_; /**< stores loop function context */
-
std::unique_ptr<LoopController> loopController_;
bool isLoopScheduled_{false}; /**< was the ready loop scheduled to run? */