/* FUNCTIONS *****************************************************************/
+/*
+ * @implemented
+ */
VOID STDCALL
KeInitializeMutex(IN PKMUTEX Mutex,
IN ULONG Level)
Mutex->ApcDisable = 1;
}
+/*
+ * @implemented
+ */
LONG STDCALL
KeReadStateMutex(IN PKMUTEX Mutex)
{
return(Mutex->Header.SignalState);
}
+/*
+ * @implemented
+ */
LONG STDCALL
KeReleaseMutex(IN PKMUTEX Mutex,
IN BOOLEAN Wait)
if (Mutex->OwnerThread != KeGetCurrentThread())
{
DbgPrint("THREAD_NOT_MUTEX_OWNER: Mutex %p\n", Mutex);
- KeBugCheck(0); /* THREAD_NOT_MUTEX_OWNER */
+ KEBUGCHECK(0); /* THREAD_NOT_MUTEX_OWNER */
}
Mutex->Header.SignalState++;
assert(Mutex->Header.SignalState <= 1);
return(0);
}
+/*
+ * @implemented
+ */
NTSTATUS STDCALL
KeWaitForMutexObject(IN PKMUTEX Mutex,
IN KWAIT_REASON WaitReason,
}
+/*
+ * @implemented
+ */
VOID STDCALL
KeInitializeMutant(IN PKMUTANT Mutant,
IN BOOLEAN InitialOwner)
Mutant->ApcDisable = 0;
}
+/*
+ * @implemented
+ */
LONG STDCALL
KeReadStateMutant(IN PKMUTANT Mutant)
{
return(Mutant->Header.SignalState);
}
+/*
+ * @implemented
+ */
LONG STDCALL
KeReleaseMutant(IN PKMUTANT Mutant,
IN KPRIORITY Increment,
DbgPrint("THREAD_NOT_MUTEX_OWNER: Mutant->OwnerThread %p CurrentThread %p\n",
Mutant->OwnerThread,
KeGetCurrentThread());
- KeBugCheck(0); /* THREAD_NOT_MUTEX_OWNER */
+ KEBUGCHECK(0); /* THREAD_NOT_MUTEX_OWNER */
}
Mutant->Header.SignalState++;
assert(Mutant->Header.SignalState <= 1);