mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-07 19:57:45 +03:00
066b0590ec
This change adds a static lock hierarchy / ranking to the Kernel with the goal of reducing / finding deadlocks when running with SMP enabled. We have seen quite a few lock ordering deadlocks (locks taken in a different order, on two different code paths). As we properly annotate locks in the system, then these facilities will find these locking protocol violations automatically The `LockRank` enum documents the various locks in the system and their rank. The implementation guarantees that a thread holding one or more locks of a lower rank cannot acquire an additional lock with rank that is greater or equal to any of the currently held locks. |
||
---|---|---|
.. | ||
Lockable.h | ||
LockLocation.h | ||
LockMode.h | ||
LockRank.cpp | ||
LockRank.h | ||
Mutex.cpp | ||
Mutex.h | ||
MutexProtected.h | ||
Spinlock.h | ||
SpinlockProtected.h |