* VMArea::Unwire(addr_t, size_t, bool): Don't delete the removed range, but
return it. * lock_memory_etc(): On error the VMAreaWiredRange object could be leaked. * [un]lock_memory_etc(): Call VMArea::Unwire() with the cache locked and explicitly delete the range object after unlocking the cache to avoid potential deadlocks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36035 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -95,7 +95,7 @@ struct VMArea {
|
||||
|
||||
void Wire(VMAreaWiredRange* range);
|
||||
void Unwire(VMAreaWiredRange* range);
|
||||
void Unwire(addr_t base, size_t size, bool writable);
|
||||
VMAreaWiredRange* Unwire(addr_t base, size_t size, bool writable);
|
||||
|
||||
bool AddWaiterIfWired(VMAreaUnwiredWaiter* waiter);
|
||||
bool AddWaiterIfWired(VMAreaUnwiredWaiter* waiter,
|
||||
|
||||
Reference in New Issue
Block a user