From c957398b4f973158de323366dbd424b7bb812ddf Mon Sep 17 00:00:00 2001 From: Jason Evans Date: Wed, 23 Mar 2011 00:27:50 -0700 Subject: Fix bootstrapping order bug. Initialize arenas_tsd earlier, so that the non-TLS case works when profiling is enabled. --- jemalloc/src/jemalloc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jemalloc/src/jemalloc.c b/jemalloc/src/jemalloc.c index dccce6b..4d24470 100644 --- a/jemalloc/src/jemalloc.c +++ b/jemalloc/src/jemalloc.c @@ -797,6 +797,11 @@ malloc_init_hard(void) if (malloc_mutex_init(&arenas_lock)) return (true); + if (pthread_key_create(&arenas_tsd, arenas_cleanup) != 0) { + malloc_mutex_unlock(&init_lock); + return (true); + } + #ifdef JEMALLOC_PROF if (prof_boot2()) { malloc_mutex_unlock(&init_lock); @@ -835,11 +840,6 @@ malloc_init_hard(void) malloc_write(")\n"); } - if (pthread_key_create(&arenas_tsd, arenas_cleanup) != 0) { - malloc_mutex_unlock(&init_lock); - return (true); - } - /* Allocate and initialize arenas. */ arenas = (arena_t **)base_alloc(sizeof(arena_t *) * narenas); if (arenas == NULL) { -- cgit v0.12