From dce2dda349f793fb99f4599fa7dbc4e3ef7990ee Mon Sep 17 00:00:00 2001 From: Sebastian Reimers Date: Wed, 8 Jan 2025 15:50:49 +0100 Subject: [PATCH] mem_pool: fix locking on flush --- src/mem/mem_pool.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mem/mem_pool.c b/src/mem/mem_pool.c index 204939b55..3c721debf 100644 --- a/src/mem/mem_pool.c +++ b/src/mem/mem_pool.c @@ -228,6 +228,7 @@ void *mem_pool_release(struct mem_pool *pool, struct mem_pool_entry *e) */ void mem_pool_flush(struct mem_pool *pool) { + mtx_lock(pool->lock); list_clear(&pool->freel); for (size_t i = 0; i < pool->nmemb; i++) { struct mem_pool_entry *e = &pool->objs[i]; @@ -236,6 +237,7 @@ void mem_pool_flush(struct mem_pool *pool) memset(e->member, 0, pool->membsize); list_append(&pool->freel, &e->le, e); } + mtx_unlock(pool->lock); }