浏览代码

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