pthread_mutex
struct pthread_mutex *_fl_mutex; /* used for MT-safety */
struct pthread_mutex;
struct pthread_mutex *dd_lock; /* lock */
typedef struct pthread_mutex *mtx_t;
cond_wait_kernel(struct pthread_cond *cvp, struct pthread_mutex *mp,
cond_wait_user(struct pthread_cond *cvp, struct pthread_mutex *mp,
struct pthread_mutex *mp;
struct pthread_mutex *mp;
struct pthread_mutex *mp;
struct pthread_mutex *m;
struct pthread_mutex *m, *m1, *m2;
struct pthread_mutex *m;
struct pthread_mutex *m;
struct pthread_mutex *m;
struct pthread_mutex *m;
struct pthread_mutex *m;
_mutex_owned(struct pthread *curthread, const struct pthread_mutex *mp)
struct pthread_mutex *m;
mutex_init_link(struct pthread_mutex *m __unused)
mutex_assert_is_owned(struct pthread_mutex *m __unused)
struct pthread_mutex *m __unused)
is_pshared_mutex(struct pthread_mutex *m)
is_robust_mutex(struct pthread_mutex *m)
_mutex_enter_robust(struct pthread *curthread, struct pthread_mutex *m)
_mutex_leave_robust(struct pthread *curthread, struct pthread_mutex *m __unused)
mutex_init_body(struct pthread_mutex *pmutex,
struct pthread_mutex *pmutex;
sizeof(struct pthread_mutex))) == NULL)
set_inherited_priority(struct pthread *curthread, struct pthread_mutex *m)
struct pthread_mutex *m2;
shared_mutex_init(struct pthread_mutex *pmtx, const struct
struct pthread_mutex *pmtx;
struct pthread_mutex *m;
mutex_qidx(struct pthread_mutex *m)
enqueue_mutex(struct pthread *curthread, struct pthread_mutex *m,
struct pthread_mutex *m1;
_Static_assert(sizeof(struct pthread_mutex) <= THR_PAGE_SIZE_MIN,
struct pthread_mutex, m_lock);
dequeue_mutex(struct pthread *curthread, struct pthread_mutex *m)
struct pthread_mutex *mp, *mn;
struct pthread_mutex, m_lock);
check_and_init_mutex(pthread_mutex_t *mutex, struct pthread_mutex **m)
struct pthread_mutex *m;
mutex_lock_sleep(struct pthread *curthread, struct pthread_mutex *m,
mutex_lock_common(struct pthread_mutex *m, const struct timespec *abstime,
struct pthread_mutex *m;
struct pthread_mutex *m;
static int mutex_unlock_common(struct pthread_mutex *, bool, int *);
struct pthread_mutex *mp;
_mutex_cv_lock(struct pthread_mutex *m, int count, bool rb_onlist)
_mutex_cv_unlock(struct pthread_mutex *m, int *count, int *defer)
static int mutex_qidx(struct pthread_mutex *m);
_mutex_cv_attach(struct pthread_mutex *m, int count)
static bool is_robust_mutex(struct pthread_mutex *m);
_mutex_cv_detach(struct pthread_mutex *mp, int *recurse)
static bool is_pshared_mutex(struct pthread_mutex *m);
mutex_self_trylock(struct pthread_mutex *m)
mutex_self_lock(struct pthread_mutex *m, const struct timespec *abstime)
mutex_unlock_common(struct pthread_mutex *m, bool cv, int *mtx_defer)
#define THR_MUTEX_INITIALIZER ((struct pthread_mutex *)NULL)
#define THR_ADAPTIVE_MUTEX_INITIALIZER ((struct pthread_mutex *)1)
#define THR_MUTEX_DESTROYED ((struct pthread_mutex *)2)
TAILQ_ENTRY(pthread_mutex) m_qe;
TAILQ_ENTRY(pthread_mutex) m_pqe;
struct pthread_mutex *m_rb_prev;
struct pthread_mutex *mutex_obj;
int _mutex_cv_lock(struct pthread_mutex *, int, bool) __hidden;
int _mutex_cv_unlock(struct pthread_mutex *, int *, int *) __hidden;
int _mutex_cv_attach(struct pthread_mutex *, int) __hidden;
int _mutex_cv_detach(struct pthread_mutex *, int *) __hidden;
int _mutex_owned(struct pthread *, const struct pthread_mutex *) __hidden;
int _mutex_enter_robust(struct pthread *curthread, struct pthread_mutex *m)
void _mutex_leave_robust(struct pthread *curthread, struct pthread_mutex *m)
TAILQ_HEAD(mutex_queue, pthread_mutex);
struct pthread_mutex;
typedef struct pthread_mutex *pthread_mutex_t;