summaryrefslogtreecommitdiff
path: root/Kernel/ProcessGroup.h
diff options
context:
space:
mode:
authorBrian Gianforcaro <bgianf@serenityos.org>2021-06-03 03:21:04 -0700
committerAndreas Kling <kling@serenityos.org>2021-06-03 13:27:40 +0200
commit7e691f96e1e1d881ea698280868be75814e7f33d (patch)
treebc6970ea1d4536468e13f90043fe260592a0481e /Kernel/ProcessGroup.h
parentce74fce0df94787b143866c03fe96757adf4c6ce (diff)
downloadserenity-7e691f96e1e1d881ea698280868be75814e7f33d.zip
Kernel: Switch ProcessGroup to IntrusiveList from InlineLinkedList
Diffstat (limited to 'Kernel/ProcessGroup.h')
-rw-r--r--Kernel/ProcessGroup.h16
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;
}