mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-21 05:45:19 +00:00
Add a mutex to arena_free_all
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user