[NTOSKRNL:CC] Add RAII Wrapper Spinlock Guard
This commit is contained in:
parent
8e73c913ed
commit
5d6f81cb08
@ -48,4 +48,23 @@ IsGoToNextMap(IN PSHARED_CACHE_MAP SharedMap, IN ULONG TargetPages)
|
|||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Later Move it to XDK */
|
||||||
|
class SpinLockSharedGuard {
|
||||||
|
public:
|
||||||
|
SpinLockSharedGuard(PEX_SPIN_LOCK SpinLock) : m_SpinLock(SpinLock) {
|
||||||
|
m_OldIrql = ExAcquireSpinLockShared(m_SpinLock);
|
||||||
|
}
|
||||||
|
|
||||||
|
~SpinLockSharedGuard() {
|
||||||
|
ExReleaseSpinLockShared(m_SpinLock, m_OldIrql);
|
||||||
|
}
|
||||||
|
|
||||||
|
SpinLockSharedGuard(const SpinLockSharedGuard&) = delete;
|
||||||
|
SpinLockSharedGuard& operator=(const SpinLockSharedGuard&) = delete;
|
||||||
|
|
||||||
|
private:
|
||||||
|
PEX_SPIN_LOCK m_SpinLock;
|
||||||
|
KIRQL m_OldIrql;
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user