Hi,
in KeRundownThread is an ASSERT statement. What is the reason for that? ApcDisable is never changed. It is always 1 for mutex objects and always 0 for mutant objects. If a mutant object is on the list, ros does crash.
- Hartmut
Index: ntoskrnl/ke/kthread.c =================================================================== --- ntoskrnl/ke/kthread.c (revision 14297) +++ ntoskrnl/ke/kthread.c (working copy) @@ -360,7 +360,7 @@
/* Get the Mutant */ Mutant = CONTAINING_RECORD(CurrentEntry, KMUTANT, MutantListEntry); - ASSERT(Mutant->ApcDisable); +// ASSERT(Mutant->ApcDisable);