1 #include "jemalloc/internal/jemalloc_preamble.h" 2 #include "jemalloc/internal/jemalloc_internal_includes.h" 3 4 #include "jemalloc/internal/counter.h" 5 6 bool 7 counter_accum_init(counter_accum_t *counter, uint64_t interval) { 8 if (LOCKEDINT_MTX_INIT(counter->mtx, "counter_accum", 9 WITNESS_RANK_COUNTER_ACCUM, malloc_mutex_rank_exclusive)) { 10 return true; 11 } 12 locked_init_u64_unsynchronized(&counter->accumbytes, 0); 13 counter->interval = interval; 14 return false; 15 } 16 17 void 18 counter_prefork(tsdn_t *tsdn, counter_accum_t *counter) { 19 LOCKEDINT_MTX_PREFORK(tsdn, counter->mtx); 20 } 21 22 void 23 counter_postfork_parent(tsdn_t *tsdn, counter_accum_t *counter) { 24 LOCKEDINT_MTX_POSTFORK_PARENT(tsdn, counter->mtx); 25 } 26 27 void 28 counter_postfork_child(tsdn_t *tsdn, counter_accum_t *counter) { 29 LOCKEDINT_MTX_POSTFORK_CHILD(tsdn, counter->mtx); 30 } 31