From f807e85c31c67658f861ccd3afdb51d301215258 Mon Sep 17 00:00:00 2001 From: Dev Jain Date: Mon, 15 Sep 2025 17:13:29 +0530 Subject: [PATCH] malloc: Hoist common unlock out of if-else control block 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 Reviewed-by: DJ Delorie --- 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.47.3