From fa7f532c352d8741641f7c6f96d1dfa3d8b28130 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 23 Mar 2019 23:50:34 +0100 Subject: [PATCH] Kernel: Add a Thread::all_threads() helper. --- Kernel/Thread.cpp | 9 +++++++++ Kernel/Thread.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/Kernel/Thread.cpp b/Kernel/Thread.cpp index cdc840ffff..0f2277380e 100644 --- a/Kernel/Thread.cpp +++ b/Kernel/Thread.cpp @@ -522,3 +522,12 @@ void Thread::initialize() g_threads = new InlineLinkedList; Scheduler::initialize(); } + +Vector Thread::all_threads() +{ + Vector threads; + InterruptDisabler disabler; + for (auto* thread = g_threads->head(); thread; thread = thread->next()) + threads.append(thread); + return threads; +} diff --git a/Kernel/Thread.h b/Kernel/Thread.h index c4a0095eef..8899c256d8 100644 --- a/Kernel/Thread.h +++ b/Kernel/Thread.h @@ -32,6 +32,8 @@ public: static void initialize(); static void finalize_dying_threads(); + static Vector all_threads(); + int tid() const { return m_tid; } int pid() const;