Lines Matching full:mutex
65 int __pthread_mutex_timedlock(pthread_mutex_t * __restrict mutex,
67 int _pthread_mutex_getspinloops_np(pthread_mutex_t *mutex, int *count);
68 int _pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count);
69 int __pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count);
70 int _pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count);
71 int _pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count);
72 int __pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count);
137 PANIC("mutex %p own %#x is not on list %p %p", in mutex_assert_is_owned()
150 PANIC("mutex %p own %#x is on list %p %p", in mutex_assert_not_owned()
159 "mutex %p own %#x is on robust linkage %p %p head %p phead %p", in mutex_assert_not_owned()
275 mutex_init(pthread_mutex_t *mutex, in mutex_init() argument
295 *mutex = pmutex; in mutex_init()
300 init_static(struct pthread *thread, pthread_mutex_t *mutex) in init_static() argument
306 if (*mutex == THR_MUTEX_INITIALIZER) in init_static()
307 ret = mutex_init(mutex, &_pthread_mutexattr_default, in init_static()
309 else if (*mutex == THR_ADAPTIVE_MUTEX_INITIALIZER) in init_static()
310 ret = mutex_init(mutex, &_pthread_mutexattr_adaptive_default, in init_static()
346 * same process-shared mutex. We rely on kernel allocating in shared_mutex_init()
347 * zeroed offpage for the mutex, i.e. the in shared_mutex_init()
378 __Tthr_mutex_init(pthread_mutex_t * __restrict mutex, in __Tthr_mutex_init() argument
394 return (mutex_init(mutex, mutex_attr ? *mutex_attr : NULL, in __Tthr_mutex_init()
397 pmtx = __thr_pshared_offpage(__DECONST(void *, mutex), 1); in __Tthr_mutex_init()
400 *mutex = THR_PSHARED_PTR; in __Tthr_mutex_init()
407 _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex, in _pthread_mutex_init_calloc_cb() argument
419 ret = mutex_init(mutex, &attr, calloc_cb); in _pthread_mutex_init_calloc_cb()
421 (*mutex)->m_flags |= PMUTEX_FLAG_PRIVATE; in _pthread_mutex_init_calloc_cb()
426 * Fix mutex ownership for child process.
428 * Process private mutex ownership is transmitted from the forking
431 * Process shared mutex should not be inherited because owner is
433 * the owned mutex list.
462 _thr_mutex_destroy(pthread_mutex_t *mutex) in _thr_mutex_destroy() argument
467 m = *mutex; in _thr_mutex_destroy()
474 m1 = __thr_pshared_offpage(mutex, 0); in _thr_mutex_destroy()
481 __thr_pshared_destroy(mutex); in _thr_mutex_destroy()
483 *mutex = THR_MUTEX_DESTROYED; in _thr_mutex_destroy()
490 *mutex = THR_MUTEX_DESTROYED; in _thr_mutex_destroy()
590 check_and_init_mutex(pthread_mutex_t *mutex, struct pthread_mutex **m) in check_and_init_mutex() argument
594 *m = *mutex; in check_and_init_mutex()
597 *m = __thr_pshared_offpage(mutex, 0); in check_and_init_mutex()
606 ret = init_static(_get_curthread(), mutex); in check_and_init_mutex()
608 *m = *mutex; in check_and_init_mutex()
615 __Tthr_mutex_trylock(pthread_mutex_t *mutex) in __Tthr_mutex_trylock() argument
623 ret = check_and_init_mutex(mutex, &m); in __Tthr_mutex_trylock()
660 * that if the application requests this mutex type then in mutex_lock_sleep()
745 __Tthr_mutex_lock(pthread_mutex_t *mutex) in __Tthr_mutex_lock() argument
751 ret = check_and_init_mutex(mutex, &m); in __Tthr_mutex_lock()
758 __pthread_mutex_timedlock(pthread_mutex_t * __restrict mutex, in __pthread_mutex_timedlock() argument
765 ret = check_and_init_mutex(mutex, &m); in __pthread_mutex_timedlock()
772 _thr_mutex_unlock(pthread_mutex_t *mutex) in _thr_mutex_unlock() argument
776 if (*mutex == THR_PSHARED_PTR) { in _thr_mutex_unlock()
777 mp = __thr_pshared_offpage(mutex, 0); in _thr_mutex_unlock()
782 mp = *mutex; in _thr_mutex_unlock()
803 * Clear the count in case this is a recursive mutex. in _mutex_cv_unlock()
833 * Clear the count in case this is a recursive mutex. in _mutex_cv_detach()
876 /* Trap invalid mutex types; */ in mutex_self_trylock()
913 * What SS2 define as a 'normal' mutex. Intentionally in mutex_self_lock()
945 /* Trap invalid mutex types; */ in mutex_self_lock()
969 * Check if the running thread is not the owner of the mutex. in mutex_unlock_common()
1006 _pthread_mutex_getprioceiling(const pthread_mutex_t * __restrict mutex, in _pthread_mutex_getprioceiling() argument
1011 if (*mutex == THR_PSHARED_PTR) { in _pthread_mutex_getprioceiling()
1012 m = __thr_pshared_offpage(__DECONST(void *, mutex), 0); in _pthread_mutex_getprioceiling()
1017 m = *mutex; in _pthread_mutex_getprioceiling()
1028 _pthread_mutex_setprioceiling(pthread_mutex_t * __restrict mutex, in _pthread_mutex_setprioceiling() argument
1036 if (*mutex == THR_PSHARED_PTR) { in _pthread_mutex_setprioceiling()
1037 m = __thr_pshared_offpage(mutex, 0); in _pthread_mutex_setprioceiling()
1042 m = *mutex; in _pthread_mutex_setprioceiling()
1095 _pthread_mutex_getspinloops_np(pthread_mutex_t *mutex, int *count) in _pthread_mutex_getspinloops_np() argument
1100 ret = check_and_init_mutex(mutex, &m); in _pthread_mutex_getspinloops_np()
1107 __pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count) in __pthread_mutex_setspinloops_np() argument
1112 ret = check_and_init_mutex(mutex, &m); in __pthread_mutex_setspinloops_np()
1119 _pthread_mutex_getyieldloops_np(pthread_mutex_t *mutex, int *count) in _pthread_mutex_getyieldloops_np() argument
1124 ret = check_and_init_mutex(mutex, &m); in _pthread_mutex_getyieldloops_np()
1131 __pthread_mutex_setyieldloops_np(pthread_mutex_t *mutex, int count) in __pthread_mutex_setyieldloops_np() argument
1136 ret = check_and_init_mutex(mutex, &m); in __pthread_mutex_setyieldloops_np()
1143 _pthread_mutex_isowned_np(pthread_mutex_t *mutex) in _pthread_mutex_isowned_np() argument
1147 if (*mutex == THR_PSHARED_PTR) { in _pthread_mutex_isowned_np()
1148 m = __thr_pshared_offpage(mutex, 0); in _pthread_mutex_isowned_np()
1153 m = *mutex; in _pthread_mutex_isowned_np()
1175 _Tthr_mutex_consistent(pthread_mutex_t *mutex) in _Tthr_mutex_consistent() argument
1180 if (*mutex == THR_PSHARED_PTR) { in _Tthr_mutex_consistent()
1181 m = __thr_pshared_offpage(mutex, 0); in _Tthr_mutex_consistent()
1186 m = *mutex; in _Tthr_mutex_consistent()