Add a mutex to arena_free_all

This commit is contained in:
gingerBill
2021-09-29 16:46:14 +01:00
parent efdd5cf499
commit b2a36f204e

View File

@@ -70,12 +70,18 @@ arena_alloc :: proc(arena: ^Arena, min_size: int, alignment: int) -> (data: []by
}
arena_free_all :: proc(arena: ^Arena) {
if !arena.ignore_mutex {
sync.mutex_lock(mutex)
}
for arena.curr_block != nil {
free_block := arena.curr_block
arena.curr_block = free_block.prev
memory_dealloc(free_block)
}
arena.total_used = 0
if !arena.ignore_mutex {
sync.mutex_unlock(mutex)
}
}
arena_allocator :: proc(arena: ^Arena) -> mem.Allocator {