Browse Source

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.
Andreas Kling 3 years ago
parent
commit
67a0fa2b78

+ 5 - 0
Userland/Libraries/LibCore/EventLoop.cpp

@@ -62,6 +62,11 @@ static HashTable<Notifier*>* s_notifiers;
 int EventLoop::s_wake_pipe_fds[2];
 static RefPtr<InspectorServerConnection> s_inspector_server_connection;
 
+bool EventLoop::has_been_instantiated()
+{
+    return s_main_event_loop;
+}
+
 class SignalHandlers : public RefCounted<SignalHandlers> {
     AK_MAKE_NONCOPYABLE(SignalHandlers);
     AK_MAKE_NONMOVABLE(SignalHandlers);

+ 2 - 0
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<Time> get_next_timer_expiration();