Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/jemalloc/src/ecache.c
39483 views
1
#include "jemalloc/internal/jemalloc_preamble.h"
2
#include "jemalloc/internal/jemalloc_internal_includes.h"
3
4
#include "jemalloc/internal/san.h"
5
6
bool
7
ecache_init(tsdn_t *tsdn, ecache_t *ecache, extent_state_t state, unsigned ind,
8
bool delay_coalesce) {
9
if (malloc_mutex_init(&ecache->mtx, "extents", WITNESS_RANK_EXTENTS,
10
malloc_mutex_rank_exclusive)) {
11
return true;
12
}
13
ecache->state = state;
14
ecache->ind = ind;
15
ecache->delay_coalesce = delay_coalesce;
16
eset_init(&ecache->eset, state);
17
eset_init(&ecache->guarded_eset, state);
18
19
return false;
20
}
21
22
void
23
ecache_prefork(tsdn_t *tsdn, ecache_t *ecache) {
24
malloc_mutex_prefork(tsdn, &ecache->mtx);
25
}
26
27
void
28
ecache_postfork_parent(tsdn_t *tsdn, ecache_t *ecache) {
29
malloc_mutex_postfork_parent(tsdn, &ecache->mtx);
30
}
31
32
void
33
ecache_postfork_child(tsdn_t *tsdn, ecache_t *ecache) {
34
malloc_mutex_postfork_child(tsdn, &ecache->mtx);
35
}
36
37