handle the case when ExRundownCompleted() was called before ExReleaseRundownProtectionEx()
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;