From 67a0fa2b78fdf07c23f43ad84f95063959afda13 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 25 Aug 2021 19:59:45 +0200 Subject: [PATCH] LibCore: Add Core::EventLoop::has_been_instantiated() This static bool getter can be used to VERIFY that an event loop exists, in situations where one is expected. This is helpful if the absence of an event loop would generate strange and/or loud errors that don't immediately point to this as a cause. --- Userland/Libraries/LibCore/EventLoop.cpp | 5 +++++ Userland/Libraries/LibCore/EventLoop.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/Userland/Libraries/LibCore/EventLoop.cpp b/Userland/Libraries/LibCore/EventLoop.cpp index 15f1869515..436aba6ee5 100644 --- a/Userland/Libraries/LibCore/EventLoop.cpp +++ b/Userland/Libraries/LibCore/EventLoop.cpp @@ -62,6 +62,11 @@ static HashTable* s_notifiers; int EventLoop::s_wake_pipe_fds[2]; static RefPtr s_inspector_server_connection; +bool EventLoop::has_been_instantiated() +{ + return s_main_event_loop; +} + class SignalHandlers : public RefCounted { AK_MAKE_NONCOPYABLE(SignalHandlers); AK_MAKE_NONMOVABLE(SignalHandlers); diff --git a/Userland/Libraries/LibCore/EventLoop.h b/Userland/Libraries/LibCore/EventLoop.h index c0483c79df..116d23c023 100644 --- a/Userland/Libraries/LibCore/EventLoop.h +++ b/Userland/Libraries/LibCore/EventLoop.h @@ -74,6 +74,8 @@ public: }; static void notify_forked(ForkEvent); + static bool has_been_instantiated(); + private: void wait_for_event(WaitMode); Optional