1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 09:24:57 +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

@ -116,9 +116,11 @@ private:
return mode == Mode::Exclusive ? exclusive : shared;
}
};
SpinlockProtected<BlockedThreadLists> m_blocked_thread_lists;
// FIXME: Use a specific lock rank passed by constructor.
SpinlockProtected<BlockedThreadLists> m_blocked_thread_lists { LockRank::None };
mutable Spinlock m_lock;
// FIXME: See above.
mutable Spinlock m_lock { LockRank::None };
#if LOCK_SHARED_UPGRADE_DEBUG
HashMap<Thread*, u32> m_shared_holders_map;

View file

@ -47,8 +47,9 @@ private:
public:
template<typename... Args>
SpinlockProtected(Args&&... args)
SpinlockProtected(LockRank rank, Args&&... args)
: m_value(forward<Args>(args)...)
, m_spinlock(rank)
{
}