diff options
author | Brian Gianforcaro <bgianf@serenityos.org> | 2021-06-03 03:21:04 -0700 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-06-03 13:27:40 +0200 |
commit | 7e691f96e1e1d881ea698280868be75814e7f33d (patch) | |
tree | bc6970ea1d4536468e13f90043fe260592a0481e /Kernel/ProcessGroup.h | |
parent | ce74fce0df94787b143866c03fe96757adf4c6ce (diff) | |
download | serenity-7e691f96e1e1d881ea698280868be75814e7f33d.zip |
Kernel: Switch ProcessGroup to IntrusiveList from InlineLinkedList
Diffstat (limited to 'Kernel/ProcessGroup.h')
-rw-r--r-- | Kernel/ProcessGroup.h | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/Kernel/ProcessGroup.h b/Kernel/ProcessGroup.h index 8ae5f295f5..0be93ff5c4 100644 --- a/Kernel/ProcessGroup.h +++ b/Kernel/ProcessGroup.h @@ -6,7 +6,7 @@ #pragma once -#include <AK/InlineLinkedList.h> +#include <AK/IntrusiveList.h> #include <AK/RefCounted.h> #include <AK/Weakable.h> #include <Kernel/Lock.h> @@ -17,14 +17,11 @@ namespace Kernel { class ProcessGroup : public RefCounted<ProcessGroup> - , public Weakable<ProcessGroup> - , public InlineLinkedListNode<ProcessGroup> { + , public Weakable<ProcessGroup> { AK_MAKE_NONMOVABLE(ProcessGroup); AK_MAKE_NONCOPYABLE(ProcessGroup); - friend InlineLinkedListNode<ProcessGroup>; - public: ~ProcessGroup(); @@ -40,13 +37,14 @@ private: { } - ProcessGroup* m_prev { nullptr }; - ProcessGroup* m_next { nullptr }; - + IntrusiveListNode<ProcessGroup> m_list_node; ProcessGroupID m_pgid; + +public: + using List = IntrusiveList<ProcessGroup, RawPtr<ProcessGroup>, &ProcessGroup::m_list_node>; }; -extern InlineLinkedList<ProcessGroup>* g_process_groups; +extern ProcessGroup::List* g_process_groups; extern RecursiveSpinLock g_process_groups_lock; } |