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