Fix horrible bug where Queued Threads were treated like Threads on the Ready list. I was aware of this bug for months and it's fixed in my new scheduler but now that tinus has seen it happen, I'm comitting the fix temporarly in trunk.
Modified: trunk/reactos/ntoskrnl/ke/kthread.c

Modified: trunk/reactos/ntoskrnl/ke/kthread.c
--- trunk/reactos/ntoskrnl/ke/kthread.c	2005-05-03 23:18:21 UTC (rev 14965)
+++ trunk/reactos/ntoskrnl/ke/kthread.c	2005-05-03 23:24:26 UTC (rev 14966)
@@ -54,7 +54,7 @@
         KEBUGCHECK(0);
     }
     
-    InsertTailList(&PriorityListHead[Priority], &Thread->QueueListEntry);
+    InsertTailList(&PriorityListHead[Priority], &Thread->WaitListEntry);
     PriorityListMask |= (1 << Priority);
 }
 
@@ -63,7 +63,7 @@
 KiRemoveFromThreadList(PKTHREAD Thread)
 {
     ASSERT(Ready == Thread->State);
-    RemoveEntryList(&Thread->QueueListEntry);
+    RemoveEntryList(&Thread->WaitListEntry);
     if (IsListEmpty(&PriorityListHead[(ULONG)Thread->Priority])) {
         
         PriorityListMask &= ~(1 << Thread->Priority);
@@ -87,7 +87,7 @@
         
         while (current_entry != &PriorityListHead[Priority]) {
            
-            current = CONTAINING_RECORD(current_entry, KTHREAD, QueueListEntry);
+            current = CONTAINING_RECORD(current_entry, KTHREAD, WaitListEntry);
             
             if (current->State != Ready) {