2 Commits

Author SHA1 Message Date
7948d3fd1a Ensure arena is freed when initialisation fails 2024-02-24 23:01:26 +00:00
1094a9fefb Add comment for default alignment 2024-02-24 22:59:25 +00:00

View File

@@ -6,6 +6,8 @@
#include <string.h>
#ifndef DEFAULT_ALIGNMENT
// Why 2 * sizeof(void *) instead of sizeof(void *)
// https://handmade.network/forums/t/6860-alignment_arena_allocator
#define DEFAULT_ALIGNMENT (2 * sizeof(void *))
#endif /* ifndef DEFAULT_ALIGNMENT */
@@ -47,12 +49,14 @@ bool mem_arena_init(Arena **arena, u64 base_capacity) {
arena_ptr->active_arena = (BaseArena *)malloc(sizeof(BaseArena));
if (!(arena_ptr->active_arena)) {
mem_arena_free(arena);
return false;
}
memset(arena_ptr->active_arena, 0, sizeof(BaseArena));
if (!base_arena_init(arena_ptr->active_arena, base_capacity)) {
mem_arena_free(arena);
return false;
}