[PATCH] malloc: Hoist common unlock out of if-else control block
Dev Jain
dev.jain@arm.com
Mon Sep 15 11:43:29 GMT 2025
We currently unlock the arena mutex in arena_get_retry() unconditionally.
Therefore, hoist out the unlock from the if-else control block.
Signed-off-by: Dev Jain <dev.jain@arm.com>
---
malloc/arena.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/malloc/arena.c b/malloc/arena.c
index 4cc9881d82..4cd79d7244 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -861,15 +861,14 @@ static mstate
arena_get_retry (mstate ar_ptr, size_t bytes)
{
LIBC_PROBE (memory_arena_retry, 2, bytes, ar_ptr);
+ __libc_lock_unlock (ar_ptr->mutex);
if (ar_ptr != &main_arena)
{
- __libc_lock_unlock (ar_ptr->mutex);
ar_ptr = &main_arena;
__libc_lock_lock (ar_ptr->mutex);
}
else
{
- __libc_lock_unlock (ar_ptr->mutex);
ar_ptr = arena_get2 (bytes, ar_ptr);
}
--
2.34.1
More information about the Libc-alpha
mailing list