Author: cgutman Date: Wed Dec 21 05:30:16 2011 New Revision: 54725
URL: http://svn.reactos.org/svn/reactos?rev=54725&view=rev Log: [NTOSKRNL] - Wait to acquire locks in CcRosFlushDirtyPages - This is needed because this path is used during critical times like shutdown and very low memory situations when flushes cannot fail
Modified: trunk/reactos/ntoskrnl/cc/view.c
Modified: trunk/reactos/ntoskrnl/cc/view.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cc/view.c?rev=5472... ============================================================================== --- trunk/reactos/ntoskrnl/cc/view.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/cc/view.c [iso-8859-1] Wed Dec 21 05:30:16 2011 @@ -225,20 +225,13 @@ current_entry = current_entry->Flink;
Locked = current->Bcb->Callbacks->AcquireForLazyWrite( - current->Bcb->LazyWriteContext, FALSE); + current->Bcb->LazyWriteContext, TRUE); if (!Locked) { continue; }
- Locked = ExTryToAcquirePushLockExclusive(¤t->Lock); - if (!Locked) - { - current->Bcb->Callbacks->ReleaseFromLazyWrite( - current->Bcb->LazyWriteContext); - - continue; - } + ExAcquirePushLockExclusive(¤t->Lock);
ASSERT(current->Dirty); if (current->ReferenceCount > 1)