Heap initialisation failure now results in abort() being called
This commit is contained in:
@@ -29,16 +29,25 @@ void __crt_heap_init(size_t sz)
|
|||||||
mx_status_t status = mx_vmar_allocate(root_vmar,
|
mx_status_t status = mx_vmar_allocate(root_vmar,
|
||||||
MX_VM_CAN_MAP_READ | MX_VM_CAN_MAP_WRITE | MX_VM_CAN_MAP_SPECIFIC,
|
MX_VM_CAN_MAP_READ | MX_VM_CAN_MAP_WRITE | MX_VM_CAN_MAP_SPECIFIC,
|
||||||
0, HEAP_REGION_SZ, &heap_vmar, &heap);
|
0, HEAP_REGION_SZ, &heap_vmar, &heap);
|
||||||
|
if (status != MX_OK) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
status = mx_vmo_create(
|
status = mx_vmo_create(
|
||||||
sz,
|
sz,
|
||||||
MX_VM_CAN_MAP_READ | MX_VM_CAN_MAP_WRITE | MX_VM_CAN_MAP_SPECIFIC,
|
MX_VM_CAN_MAP_READ | MX_VM_CAN_MAP_WRITE | MX_VM_CAN_MAP_SPECIFIC,
|
||||||
&heap_vmo);
|
&heap_vmo);
|
||||||
|
if (status != MX_OK) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
mx_vmar_map(heap_vmar,
|
status = mx_vmar_map(heap_vmar,
|
||||||
MX_VM_PERM_READ | MX_VM_PERM_WRITE | MX_VM_SPECIFIC,
|
MX_VM_PERM_READ | MX_VM_PERM_WRITE | MX_VM_SPECIFIC,
|
||||||
0, heap_vmo, 0, sz,
|
0, heap_vmo, 0, sz,
|
||||||
&heap);
|
&heap);
|
||||||
|
if (status != MX_OK) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
heap_sz = sz;
|
heap_sz = sz;
|
||||||
heap_start = heap;
|
heap_start = heap;
|
||||||
|
|||||||
Reference in New Issue
Block a user