From b8f4c730eff28edee4b583ff5b6ee1fac0f26c27 Mon Sep 17 00:00:00 2001 From: Qi Wang Date: Wed, 18 Apr 2018 11:30:03 -0700 Subject: Remove an incorrect assertion. Background threads are created without holding the global background_thread lock, which mean paused state is possible (and fine). --- src/background_thread.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/background_thread.c b/src/background_thread.c index 9656e196..3517a3bb 100644 --- a/src/background_thread.c +++ b/src/background_thread.c @@ -398,7 +398,10 @@ check_background_thread_creation(tsd_t *tsd, unsigned *n_created, } background_thread_info_t *info = &background_thread_info[i]; malloc_mutex_lock(tsdn, &info->mtx); - assert(info->state != background_thread_paused); + /* + * In case of the background_thread_paused state because of + * arena reset, delay the creation. + */ bool create = (info->state == background_thread_started); malloc_mutex_unlock(tsdn, &info->mtx); if (!create) { -- cgit v1.2.3