1 #ifndef JEMALLOC_INTERNAL_BACKGROUND_THREAD_EXTERNS_H 2 #define JEMALLOC_INTERNAL_BACKGROUND_THREAD_EXTERNS_H 3 4 extern bool opt_background_thread; 5 extern malloc_mutex_t background_thread_lock; 6 extern atomic_b_t background_thread_enabled_state; 7 extern size_t n_background_threads; 8 extern background_thread_info_t *background_thread_info; 9 extern bool can_enable_background_thread; 10 11 bool background_thread_create(tsd_t *tsd, unsigned arena_ind); 12 bool background_threads_enable(tsd_t *tsd); 13 bool background_threads_disable(tsd_t *tsd); 14 void background_thread_interval_check(tsdn_t *tsdn, arena_t *arena, 15 arena_decay_t *decay, size_t npages_new); 16 void background_thread_prefork0(tsdn_t *tsdn); 17 void background_thread_prefork1(tsdn_t *tsdn); 18 void background_thread_postfork_parent(tsdn_t *tsdn); 19 void background_thread_postfork_child(tsdn_t *tsdn); 20 bool background_thread_stats_read(tsdn_t *tsdn, 21 background_thread_stats_t *stats); 22 void background_thread_ctl_init(tsdn_t *tsdn); 23 24 #ifdef JEMALLOC_PTHREAD_CREATE_WRAPPER 25 extern int pthread_create_wrapper(pthread_t *__restrict, const pthread_attr_t *, 26 void *(*)(void *), void *__restrict); 27 #endif 28 bool background_thread_boot0(void); 29 bool background_thread_boot1(tsdn_t *tsdn); 30 31 #endif /* JEMALLOC_INTERNAL_BACKGROUND_THREAD_EXTERNS_H */ 32