Functions | |||
size_t | mm_try_join (size_t *ptr) | ||
check for free blocks after this one and join them if possible. | |||
void | mm_update_first_free (size_t *start) | ||
update first free block pointer. More... | |||
void | mm_init () | ||
initialize memory management. | |||
void* | malloc (size_t size) | ||
allocate a block of memory. More... | |||
void | free (void *the_ptr) | ||
free a previously allocated block of memory. More... | |||
void* | calloc (size_t nmemb, size_t size) | ||
allocate adjacent blocks of memory. More... | |||
void | mm_reaper () | ||
free all blocks allocated by the current process. More... | |||
Variables | |||
size_t* | mm_first_free | ||
first free block. | |||
sem_t | mm_semaphore | ||
assures tasksafe operation. |
size_t mm_try_join (size_t * ptr) |
check for free blocks after this one and join them if possible.
void mm_update_first_free (size_t * start) |
update first free block pointer.
start | pointer to owner field of a memory block to start with. |
void mm_init () |
initialize memory management.
void * malloc (size_t size) |
allocate a block of memory.
size | requested block size |
void free (void * the_ptr) |
free a previously allocated block of memory.
the_ptr |
pointer to block
|
void * calloc (size_t nmemb, size_t size) |
allocate adjacent blocks of memory.
nmemb | number of blocks |
size | individual block size |
void mm_reaper () |
size_t* mm_first_free |
first free block.
sem_t mm_semaphore |
assures tasksafe operation.