Lines Matching full:mutex
42 JEMALLOC_EXPORT int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
47 _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex, in _pthread_mutex_init_calloc_cb() argument
52 __libc_interposing[INTERPOS__pthread_mutex_init_calloc_cb])(mutex, in _pthread_mutex_init_calloc_cb()
58 malloc_mutex_lock_slow(malloc_mutex_t *mutex) { in malloc_mutex_lock_slow() argument
59 mutex_prof_data_t *data = &mutex->prof_data; in malloc_mutex_lock_slow()
69 if (!atomic_load_b(&mutex->locked, ATOMIC_RELAXED) in malloc_mutex_lock_slow()
70 && !malloc_mutex_trylock_final(mutex)) { in malloc_mutex_lock_slow()
78 malloc_mutex_lock_final(mutex); in malloc_mutex_lock_slow()
89 if (!malloc_mutex_trylock_final(mutex)) { in malloc_mutex_lock_slow()
96 malloc_mutex_lock_final(mutex); in malloc_mutex_lock_slow()
124 malloc_mutex_prof_data_reset(tsdn_t *tsdn, malloc_mutex_t *mutex) { in malloc_mutex_prof_data_reset() argument
125 malloc_mutex_assert_owner(tsdn, mutex); in malloc_mutex_prof_data_reset()
126 mutex_prof_data_init(&mutex->prof_data); in malloc_mutex_prof_data_reset()
156 malloc_mutex_init(malloc_mutex_t *mutex, const char *name, in malloc_mutex_init() argument
158 mutex_prof_data_init(&mutex->prof_data); in malloc_mutex_init()
161 InitializeSRWLock(&mutex->lock); in malloc_mutex_init()
163 if (!InitializeCriticalSectionAndSpinCount(&mutex->lock, in malloc_mutex_init()
169 mutex->lock = OS_UNFAIR_LOCK_INIT; in malloc_mutex_init()
172 mutex->postponed_next = postponed_mutexes; in malloc_mutex_init()
173 postponed_mutexes = mutex; in malloc_mutex_init()
175 if (_pthread_mutex_init_calloc_cb(&mutex->lock, in malloc_mutex_init()
187 if (pthread_mutex_init(&mutex->lock, &attr) != 0) { in malloc_mutex_init()
194 mutex->lock_order = lock_order; in malloc_mutex_init()
196 witness_init(&mutex->witness, name, rank, in malloc_mutex_init()
197 mutex_addr_comp, mutex); in malloc_mutex_init()
199 witness_init(&mutex->witness, name, rank, NULL, NULL); in malloc_mutex_init()
206 malloc_mutex_prefork(tsdn_t *tsdn, malloc_mutex_t *mutex) { in malloc_mutex_prefork() argument
207 malloc_mutex_lock(tsdn, mutex); in malloc_mutex_prefork()
211 malloc_mutex_postfork_parent(tsdn_t *tsdn, malloc_mutex_t *mutex) { in malloc_mutex_postfork_parent() argument
212 malloc_mutex_unlock(tsdn, mutex); in malloc_mutex_postfork_parent()
216 malloc_mutex_postfork_child(tsdn_t *tsdn, malloc_mutex_t *mutex) { in malloc_mutex_postfork_child() argument
218 malloc_mutex_unlock(tsdn, mutex); in malloc_mutex_postfork_child()
220 if (malloc_mutex_init(mutex, mutex->witness.name, in malloc_mutex_postfork_child()
221 mutex->witness.rank, mutex->lock_order)) { in malloc_mutex_postfork_child()
222 malloc_printf("<jemalloc>: Error re-initializing mutex in " in malloc_mutex_postfork_child()