1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:57:44 +00:00

LibCore: Add Core::EventLoop::spin_until(Function<bool()>)

This function spins the event loop until a goal condition is met.
This commit is contained in:
Andreas Kling 2021-09-25 19:32:14 +02:00
parent 2c0987c93b
commit f2b9ec9f8a
2 changed files with 9 additions and 0 deletions

View file

@ -366,6 +366,13 @@ int EventLoop::exec()
VERIFY_NOT_REACHED();
}
void EventLoop::spin_until(Function<bool()> goal_condition)
{
EventLoopPusher pusher(*this);
while (!goal_condition())
pump();
}
void EventLoop::pump(WaitMode mode)
{
wait_for_event(mode);