heap_free_page -> heap_free
This commit is contained in:
26
lib/heap.c
26
lib/heap.c
@@ -36,7 +36,19 @@ void heap_create(heap_t *heap)
|
||||
heap->pages = 0;
|
||||
}
|
||||
|
||||
bool heap_free_page(heap_t *heap, page_t *page)
|
||||
page_t *heap_allocate(heap_t *heap, size_t requested)
|
||||
{
|
||||
page_t *cur = page_create(requested, NULL);
|
||||
if (heap->end)
|
||||
heap->end->next = cur;
|
||||
else
|
||||
heap->beg = cur;
|
||||
heap->end = cur;
|
||||
heap->pages++;
|
||||
return cur;
|
||||
}
|
||||
|
||||
bool heap_free(heap_t *heap, page_t *page)
|
||||
{
|
||||
if (!page || !heap)
|
||||
return false;
|
||||
@@ -76,18 +88,6 @@ bool heap_free_page(heap_t *heap, page_t *page)
|
||||
return true;
|
||||
}
|
||||
|
||||
page_t *heap_allocate(heap_t *heap, size_t requested)
|
||||
{
|
||||
page_t *cur = page_create(requested, NULL);
|
||||
if (heap->end)
|
||||
heap->end->next = cur;
|
||||
else
|
||||
heap->beg = cur;
|
||||
heap->end = cur;
|
||||
heap->pages++;
|
||||
return cur;
|
||||
}
|
||||
|
||||
void heap_stop(heap_t *heap)
|
||||
{
|
||||
page_t *ptr = heap->beg;
|
||||
|
||||
@@ -37,8 +37,8 @@ typedef struct
|
||||
} heap_t;
|
||||
|
||||
void heap_create(heap_t *);
|
||||
bool heap_free_page(heap_t *, page_t *);
|
||||
page_t *heap_allocate(heap_t *, size_t);
|
||||
bool heap_free(heap_t *, page_t *);
|
||||
void heap_stop(heap_t *);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -675,7 +675,7 @@ err_t vm_mdelete(vm_t *vm)
|
||||
if (err)
|
||||
return err;
|
||||
page_t *page = (page_t *)ptr.as_word;
|
||||
bool done = heap_free_page(&vm->heap, page);
|
||||
bool done = heap_free(&vm->heap, page);
|
||||
if (!done)
|
||||
return ERR_INVALID_PAGE_ADDRESS;
|
||||
return ERR_OK;
|
||||
|
||||
Reference in New Issue
Block a user