static void zone_force_lock(malloc_zone_t *zone) { if (isthreaded) jemalloc_prefork(); }
static void zone_force_lock(malloc_zone_t *zone) { /* /!\ This calls into jemalloc. It works because we're linked in the * same library. Stolen from jemalloc's zone.c. */ if (isthreaded) jemalloc_prefork(); }
void je_malloc_disable() { static pthread_once_t once_control = PTHREAD_ONCE_INIT; pthread_once(&once_control, je_malloc_disable_init); pthread_mutex_lock(&malloc_disabled_lock); bool new_tcache = false; size_t old_len = sizeof(malloc_disabled_tcache); je_mallctl("thread.tcache.enabled", &malloc_disabled_tcache, &old_len, &new_tcache, sizeof(new_tcache)); jemalloc_prefork(); }