Change spin lock release functions to do an interlocked exchange.

This commit is contained in:
Skyth 2024-11-11 20:18:12 +03:00
parent 043c9e039b
commit 3080412dc0

View file

@ -664,7 +664,7 @@ void RtlRaiseException_x()
void KfReleaseSpinLock(uint32_t* spinLock)
{
//printf("!!! STUB !!! KfReleaseSpinLock\n");
*spinLock = 0;
InterlockedExchange((volatile long*)spinLock, 0);
}
void KfAcquireSpinLock(uint32_t* spinLock)
@ -711,7 +711,7 @@ void VdGetSystemCommandBuffer()
void KeReleaseSpinLockFromRaisedIrql(uint32_t* spinLock)
{
//printf("!!! STUB !!! KeReleaseSpinLockFromRaisedIrql\n");
*spinLock = 0;
InterlockedExchange((volatile long*)spinLock, 0);
}
void KeAcquireSpinLockAtRaisedIrql(uint32_t* spinLock)