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=54725&r1=54724&r2=54725&view=diff
==============================================================================
--- 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(&current->Lock);
-        if (!Locked)
-        {
-            current->Bcb->Callbacks->ReleaseFromLazyWrite(
-                current->Bcb->LazyWriteContext);
-
-            continue;
-        }
+        ExAcquirePushLockExclusive(&current->Lock);
         
         ASSERT(current->Dirty);
         if (current->ReferenceCount > 1)


Reply via email to