From: Dev Jain Date: Mon, 15 Sep 2025 11:43:29 +0000 (+0530) Subject: malloc: Hoist common unlock out of if-else control block X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f807e85c31c67658f861ccd3afdb51d301215258;p=thirdparty%2Fglibc.git 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 --- 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); }