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; }