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;