handle the case when ExRundownCompleted() was called before ExReleaseRundownProtectionEx()
Modified: trunk/reactos/ntoskrnl/ex/rundown.c

Modified: trunk/reactos/ntoskrnl/ex/rundown.c
--- trunk/reactos/ntoskrnl/ex/rundown.c	2005-02-20 23:56:47 UTC (rev 13699)
+++ trunk/reactos/ntoskrnl/ex/rundown.c	2005-02-21 00:39:59 UTC (rev 13700)
@@ -118,7 +118,11 @@
             /* Get Pointer */
             PRUNDOWN_DESCRIPTOR RundownDescriptor = (PRUNDOWN_DESCRIPTOR)((ULONG_PTR)RunRef->Ptr & ~EX_RUNDOWN_ACTIVE);
             
-            ASSERT(RundownDescriptor != NULL);
+            if (RundownDescriptor == NULL)
+            {
+                /* the rundown was completed and there's no one to notify */
+                break;
+            }
             
             Current = RundownDescriptor->References;