[haiku-commits] r36237 - haiku/trunk/src/system/kernel/vm

  • From: ingo_weinhold@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 13 Apr 2010 23:18:52 +0200 (CEST)

Author: bonefish
Date: 2010-04-13 23:18:52 +0200 (Tue, 13 Apr 2010)
New Revision: 36237
Changeset: http://dev.haiku-os.org/changeset/36237/haiku
Ticket: http://dev.haiku-os.org/ticket/5710

Modified:
   haiku/trunk/src/system/kernel/vm/vm.cpp
Log:
wait_if_address_range_is_wired() was leaking a cache reference.
Fixes #5710.


Modified: haiku/trunk/src/system/kernel/vm/vm.cpp
===================================================================
--- haiku/trunk/src/system/kernel/vm/vm.cpp     2010-04-13 21:16:23 UTC (rev 
36236)
+++ haiku/trunk/src/system/kernel/vm/vm.cpp     2010-04-13 21:18:52 UTC (rev 
36237)
@@ -955,12 +955,10 @@
                if (base >= area->Base() + area->Size() - 1)
                        continue;
 
-               VMCache* cache = vm_area_get_locked_cache(area);
+               AreaCacheLocker cacheLocker(vm_area_get_locked_cache(area));
 
-               if (wait_if_area_range_is_wired(area, base, size, locker, 
cache))
+               if (wait_if_area_range_is_wired(area, base, size, locker, 
&cacheLocker))
                        return true;
-
-               cache->Unlock();
        }
 
        return false;


Other related posts:

  • » [haiku-commits] r36237 - haiku/trunk/src/system/kernel/vm - ingo_weinhold