[ros-diffs] [hbirr] 14335: - Fixed the wrong check for KMUTEX objects in KeRundownThread.

hbirr at svn.reactos.com hbirr at svn.reactos.com
Sat Mar 26 21:14:09 CET 2005


- Fixed the wrong check for KMUTEX objects in KeRundownThread.  
- Fixed the endless loop in KeRundownThread.
Modified: trunk/reactos/ntoskrnl/ke/kthread.c
  _____  

Modified: trunk/reactos/ntoskrnl/ke/kthread.c
--- trunk/reactos/ntoskrnl/ke/kthread.c	2005-03-26 17:52:32 UTC (rev
14334)
+++ trunk/reactos/ntoskrnl/ke/kthread.c	2005-03-26 20:14:06 UTC (rev
14335)
@@ -355,12 +355,12 @@

     /* 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");
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050326/53b2acfa/attachment.html


More information about the Ros-diffs mailing list