From b2a36f204e3a748afa6d9d450a7a581bcad09081 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 29 Sep 2021 16:46:14 +0100 Subject: [PATCH] Add a mutex to `arena_free_all` --- core/mem/virtual/arena.odin | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/mem/virtual/arena.odin b/core/mem/virtual/arena.odin index 3a6fe51b2..58c71c318 100644 --- a/core/mem/virtual/arena.odin +++ b/core/mem/virtual/arena.odin @@ -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 {