LibCore: Remove the pending jobs functionality from ThreadEventQueue

This is no longer used.
This commit is contained in:
Zaggy1024 2026-02-26 23:14:19 -06:00 committed by Gregory Bertilson
parent 8e0d31ff3e
commit d6ff027593
4 changed files with 0 additions and 29 deletions

View file

@ -73,7 +73,6 @@ NonnullRefPtr<WeakEventLoopReference> EventLoop::current_weak()
void EventLoop::quit(int code)
{
ThreadEventQueue::current().cancel_all_pending_jobs();
m_impl->quit(code);
}
@ -112,11 +111,6 @@ size_t EventLoop::pump(WaitMode mode)
return m_impl->pump(mode == WaitMode::WaitForEvents ? EventLoopImplementation::PumpMode::WaitForEvents : EventLoopImplementation::PumpMode::DontWaitForEvents);
}
void EventLoop::add_job(NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>> job_promise)
{
ThreadEventQueue::current().add_job(move(job_promise));
}
int EventLoop::register_signal(int signal_number, Function<void(int)> handler)
{
return EventLoopManager::the().register_signal(signal_number, move(handler));

View file

@ -70,8 +70,6 @@ public:
// Pump the event loop until some condition is met.
void spin_until(Function<bool()>);
void add_job(NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>> job_promise);
void deferred_invoke(ESCAPING Function<void()>);
void wake();

View file

@ -42,7 +42,6 @@ struct ThreadEventQueue::Private {
Threading::Mutex mutex;
Vector<QueuedEvent> queued_events;
Vector<NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>>, 16> pending_promises;
};
static pthread_key_t s_current_thread_event_queue_key;
@ -95,28 +94,12 @@ void ThreadEventQueue::deferred_invoke(Function<void()>&& invokee)
Core::EventLoopManager::the().did_post_event();
}
void ThreadEventQueue::add_job(NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>> promise)
{
Threading::MutexLocker lock(m_private->mutex);
m_private->pending_promises.append(move(promise));
}
void ThreadEventQueue::cancel_all_pending_jobs()
{
Threading::MutexLocker lock(m_private->mutex);
for (auto const& promise : m_private->pending_promises)
promise->reject(Error::from_errno(ECANCELED));
m_private->pending_promises.clear();
}
size_t ThreadEventQueue::process()
{
decltype(m_private->queued_events) events;
{
Threading::MutexLocker locker(m_private->mutex);
events = move(m_private->queued_events);
m_private->pending_promises.remove_all_matching([](auto& job) { return job->is_resolved() || job->is_rejected(); });
}
for (auto& queued_event : events) {

View file

@ -34,10 +34,6 @@ public:
// Post a deferred invocation to the event queue.
void deferred_invoke(Function<void()>&&);
// Used by Threading::BackgroundAction.
void add_job(NonnullRefPtr<Promise<NonnullRefPtr<EventReceiver>>>);
void cancel_all_pending_jobs();
// Returns true if there are events waiting to be flushed.
bool has_pending_events() const;