summaryrefslogtreecommitdiff
path: root/Kernel/Thread.h
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2021-08-07 13:28:18 +0200
committerAndreas Kling <kling@serenityos.org>2021-08-07 13:46:16 +0200
commitb197fc40a7bec76e80bc364c1b080e340ef920e9 (patch)
treecde192d1d616c7f310317dc8c3f2f8c89d8d2068 /Kernel/Thread.h
parentd6667e4cb85afb4a65aab25a4014920dfff9c6da (diff)
downloadserenity-b197fc40a7bec76e80bc364c1b080e340ef920e9.zip
Kernel: Port process thread lists to SpinLockProtectedValue
I had to move the thread list out of the protected base area of Process so that it could live with its lock (which needs to be mutable). Ideally it would live in the protected area, so maybe we can figure out a way to do that later.
Diffstat (limited to 'Kernel/Thread.h')
-rw-r--r--Kernel/Thread.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/Kernel/Thread.h b/Kernel/Thread.h
index 827199bd55..172e580fb7 100644
--- a/Kernel/Thread.h
+++ b/Kernel/Thread.h
@@ -1372,6 +1372,9 @@ private:
void yield_and_release_relock_big_lock();
void yield_assuming_not_holding_big_lock();
void drop_thread_count(bool);
+
+public:
+ using ListInProcess = IntrusiveList<Thread, RawPtr<Thread>, &Thread::m_process_thread_list_node>;
};
AK_ENUM_BITWISE_OPERATORS(Thread::FileBlocker::BlockFlags);