- Fixed the wrong check for KMUTEX objects in KeRundownThread.

- Fixed the endless loop in KeRundownThread.

svn path=/trunk/; revision=14335
This commit is contained in:
Hartmut Birr 2005-03-26 20:14:06 +00:00
parent a24101498d
commit b4e10fa87d

View file

@ -355,12 +355,12 @@ KeRundownThread(VOID)
/* Lock the Dispatcher Database */
OldIrql = KeAcquireDispatcherDatabaseLock();
CurrentEntry = Thread->MutantListHead.Flink;
while (CurrentEntry != &Thread->MutantListHead) {
while (!IsListEmpty(&Thread->MutantListHead)) {
/* Get the Mutant */
CurrentEntry = RemoveHeadList(&Thread->MutantListHead);
Mutant = CONTAINING_RECORD(CurrentEntry, KMUTANT, MutantListEntry);
ASSERT(Mutant->ApcDisable);
ASSERT(Mutant->ApcDisable == 0);
/* Uncondtionally abandon it */
DPRINT("Abandonning the Mutant\n");