diff --git a/src/system/kernel/vm/vm.cpp b/src/system/kernel/vm/vm.cpp index 6b52cf4182..2e1a19d28c 100644 --- a/src/system/kernel/vm/vm.cpp +++ b/src/system/kernel/vm/vm.cpp @@ -2967,22 +2967,8 @@ vm_copy_area(team_id team, const char* name, void** _address, } while (restart); // unreserve pages later - struct PagesUnreserver { - PagesUnreserver(vm_page_reservation* reservation) - : - fReservation(reservation) - { - } - - ~PagesUnreserver() - { - if (fReservation != NULL) - vm_page_unreserve_pages(fReservation); - } - - private: - vm_page_reservation* fReservation; - } pagesUnreserver(wiredPages > 0 ? &wiredPagesReservation : NULL); + CObjectDeleter + pagesUnreserver(wiredPages > 0 ? &wiredPagesReservation : NULL); bool writableCopy = (source->protection & (B_KERNEL_WRITE_AREA | B_WRITE_AREA)) != 0;