kernel/vm: Use CObjectDeleter in vm_copy_area rather than a custom class.
No functional change intended.
This commit is contained in:
@@ -2967,22 +2967,8 @@ vm_copy_area(team_id team, const char* name, void** _address,
|
|||||||
} while (restart);
|
} while (restart);
|
||||||
|
|
||||||
// unreserve pages later
|
// unreserve pages later
|
||||||
struct PagesUnreserver {
|
CObjectDeleter<vm_page_reservation, void, vm_page_unreserve_pages>
|
||||||
PagesUnreserver(vm_page_reservation* reservation)
|
pagesUnreserver(wiredPages > 0 ? &wiredPagesReservation : NULL);
|
||||||
:
|
|
||||||
fReservation(reservation)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
~PagesUnreserver()
|
|
||||||
{
|
|
||||||
if (fReservation != NULL)
|
|
||||||
vm_page_unreserve_pages(fReservation);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
vm_page_reservation* fReservation;
|
|
||||||
} pagesUnreserver(wiredPages > 0 ? &wiredPagesReservation : NULL);
|
|
||||||
|
|
||||||
bool writableCopy
|
bool writableCopy
|
||||||
= (source->protection & (B_KERNEL_WRITE_AREA | B_WRITE_AREA)) != 0;
|
= (source->protection & (B_KERNEL_WRITE_AREA | B_WRITE_AREA)) != 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user