1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 19:58:11 +00:00

Kernel: Require lock rank for Spinlock construction

All users which relied on the default constructor use a None lock rank
for now. This will make it easier to in the future remove LockRank and
actually annotate the ranks by searching for None.
This commit is contained in:
kleines Filmröllchen 2022-08-18 21:46:28 +02:00 committed by Brian Gianforcaro
parent 4809dc8ec2
commit 4314c25cf2
59 changed files with 87 additions and 78 deletions

View file

@ -127,7 +127,7 @@ private:
InodeIndex m_index { 0 };
WeakPtr<Memory::SharedInodeVMObject> m_shared_vmobject;
RefPtr<LocalSocket> m_bound_socket;
SpinlockProtected<HashTable<InodeWatcher*>> m_watchers;
SpinlockProtected<HashTable<InodeWatcher*>> m_watchers { LockRank::None };
bool m_metadata_dirty { false };
RefPtr<FIFO> m_fifo;
IntrusiveListNode<Inode> m_inode_list_node;
@ -141,7 +141,7 @@ private:
};
Thread::FlockBlockerSet m_flock_blocker_set;
SpinlockProtected<Vector<Flock>> m_flocks;
SpinlockProtected<Vector<Flock>> m_flocks { LockRank::None };
public:
using AllInstancesList = IntrusiveList<&Inode::m_inode_list_node>;

View file

@ -155,6 +155,6 @@ private:
FIFO::Direction fifo_direction : 2 { FIFO::Direction::Neither };
};
SpinlockProtected<State> m_state;
SpinlockProtected<State> m_state { LockRank::None };
};
}

View file

@ -66,11 +66,11 @@ private:
private:
Plan9FS& m_fs;
mutable Spinlock m_lock;
mutable Spinlock m_lock { LockRank::None };
};
struct ReceiveCompletion : public RefCounted<ReceiveCompletion> {
mutable Spinlock lock;
mutable Spinlock lock { LockRank::None };
bool completed { false };
const u16 tag;
OwnPtr<Message> message;
@ -139,7 +139,7 @@ private:
Plan9FSBlockerSet m_completion_blocker;
HashMap<u16, NonnullRefPtr<ReceiveCompletion>> m_completions;
Spinlock m_thread_lock;
Spinlock m_thread_lock { LockRank::None };
RefPtr<Thread> m_thread;
Atomic<bool> m_thread_running { false };
Atomic<bool, AK::MemoryOrder::memory_order_relaxed> m_thread_shutdown { false };

View file

@ -11,7 +11,7 @@
namespace Kernel {
static Spinlock s_index_lock;
static Spinlock s_index_lock { LockRank::None };
static InodeIndex s_next_inode_index { 0 };
static size_t allocate_inode_index()

View file

@ -88,7 +88,7 @@ protected:
SysFSDirectory() {};
explicit SysFSDirectory(SysFSDirectory const& parent_directory);
ChildList m_child_components;
ChildList m_child_components { LockRank::None };
};
}

View file

@ -32,7 +32,7 @@ public:
private:
NonnullRefPtr<SysFSRootDirectory> m_root_directory;
Spinlock m_root_directory_lock;
Spinlock m_root_directory_lock { LockRank::None };
};
}

View file

@ -27,7 +27,7 @@ public:
private:
explicit SysFSUSBBusDirectory(SysFSBusDirectory&);
mutable Spinlock m_lock;
mutable Spinlock m_lock { LockRank::None };
};
}

View file

@ -98,7 +98,7 @@ private:
RefPtr<Inode> m_root_inode;
RefPtr<Custody> m_root_custody;
SpinlockProtected<Vector<Mount, 16>> m_mounts;
SpinlockProtected<Vector<Mount, 16>> m_mounts { LockRank::None };
};
}