Naive implementation of transfer_area(). It follows the suggested sematics
of the resolved ToDo, but could probably be made more efficient. Instead of transfering the area, the area is cloned into the target teams' address space and the original is deleted. This generates a new area_id for the transfered area (as suggested by the ToDo). Updated syscall prototypes according to the status_t to area_id return type change. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24320 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -207,7 +207,7 @@ extern status_t _kern_unlock_node(int fd);
|
||||
// extern status_t _kern_get_area_info(area_id area, area_info *info);
|
||||
// extern status_t _kern_get_next_area_info(team_id team, int32 *cookie, area_info *info);
|
||||
// extern status_t _kern_resize_area(area_id area, size_t newSize);
|
||||
// extern status_t _kern_transfer_area(area_id area, void **_address, uint32 addressSpec,
|
||||
// extern area_id _kern_transfer_area(area_id area, void **_address, uint32 addressSpec,
|
||||
// team_id target);
|
||||
// extern status_t _kern_set_area_protection(area_id area, uint32 newProtection);
|
||||
// extern area_id _kern_clone_area(const char *name, void **_address, uint32 addressSpec,
|
||||
|
||||
Reference in New Issue
Block a user