[haiku-commits] r41571 - haiku/branches/releases/r1alpha3/src/system/kernel/cache

  • From: pulkomandy@xxxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 18 May 2011 22:13:54 +0200 (CEST)

Author: pulkomandy
Date: 2011-05-18 22:13:54 +0200 (Wed, 18 May 2011)
New Revision: 41571
Changeset: https://dev.haiku-os.org/changeset/41571

Modified:
   haiku/branches/releases/r1alpha3/src/system/kernel/cache/file_cache.cpp
Log:
Merge r41564 from trunk.


Modified: 
haiku/branches/releases/r1alpha3/src/system/kernel/cache/file_cache.cpp
===================================================================
--- haiku/branches/releases/r1alpha3/src/system/kernel/cache/file_cache.cpp     
2011-05-18 18:43:28 UTC (rev 41570)
+++ haiku/branches/releases/r1alpha3/src/system/kernel/cache/file_cache.cpp     
2011-05-18 20:13:54 UTC (rev 41571)
@@ -780,7 +780,10 @@
                        if (status != B_OK)
                                return status;
 
-                       if (page->busy) {
+                       // Since satisfy_cache_io() unlocks the cache, we need 
to look up
+                       // the page again.
+                       page = cache->LookupPage(offset);
+                       if (page != NULL && page->busy) {
                                cache->WaitForPageEvents(page, 
PAGE_EVENT_NOT_BUSY, true);
                                continue;
                        }


Other related posts:

  • » [haiku-commits] r41571 - haiku/branches/releases/r1alpha3/src/system/kernel/cache - pulkomandy