/* FUNCTIONS *****************************************************************/
+/*
+ * @implemented
+ */
VOID FASTCALL
ExAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex)
{
FastMutex->Owner = KeGetCurrentThread();
}
+/*
+ * @implemented
+ */
VOID FASTCALL
ExReleaseFastMutexUnsafe(PFAST_MUTEX FastMutex)
{
assert(FastMutex->Owner == KeGetCurrentThread());
FastMutex->Owner = NULL;
+ InterlockedExchange(&FastMutex->Count, 1);
if (FastMutex->Contention > 0)
{
KeSetEvent(&FastMutex->Event, 0, FALSE);
}
- InterlockedExchange(&FastMutex->Count, 1);
}
/* EOF */