diff options
Diffstat (limited to 'malloc/arena.c')
-rw-r--r-- | malloc/arena.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/malloc/arena.c b/malloc/arena.c index 85b985e193..4d27e17c46 100644 --- a/malloc/arena.c +++ b/malloc/arena.c @@ -944,6 +944,11 @@ arena_get_retry (mstate ar_ptr, size_t bytes) static void __attribute__ ((section ("__libc_thread_freeres_fn"))) arena_thread_freeres (void) { + /* Shut down the thread cache first. This could deallocate data for + the thread arena, so do this before we put the arena on the free + list. */ + tcache_thread_shutdown (); + mstate a = thread_arena; thread_arena = NULL; |