Преглед на файлове

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 години
родител
ревизия
67a0fa2b78
променени са 2 файла, в които са добавени 7 реда и са изтрити 0 реда
  1. 5 0
      Userland/Libraries/LibCore/EventLoop.cpp
  2. 2 0
      Userland/Libraries/LibCore/EventLoop.h

+ 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();