lwp_mutex_t
lwp_mutex_t mutex;
lwp_mutex_t hd_mutex; /* Provides for process locking */
lwp_mutex_t hd_mutex; /* Provides for process locking */
(void) prof_mutex_init((lwp_mutex_t *)&Hptr->hd_mutex);
static lwp_mutex_t sharedmutex = SHAREDMUTEX;
prof_mutex_init(lwp_mutex_t *mp)
(void) memcpy(mp, &sharedmutex, sizeof (lwp_mutex_t));
prof_mutex_lock(lwp_mutex_t *mp, sigset_t *oset)
bt_unlock(lwp_mutex_t *lock)
(void) memcpy(&bhp->bh_lock, &sharedmutex, sizeof (lwp_mutex_t));
sizeof (lwp_mutex_t));
(void) memcpy(&bhp->bh_strlock, &sharedmutex, sizeof (lwp_mutex_t));
static lwp_mutex_t sharedmutex = SHAREDMUTEX;
bt_lock(lwp_mutex_t *lock)
lwp_mutex_t bb_lock; /* bucket chain lock */
lwp_mutex_t bh_lock;
lwp_mutex_t bh_strlock; /* mutex to protect strings */
query_lock(lwp_mutex_t *lock) {
return (_lwp_mutex_lock((lwp_mutex_t *)mp));
return (_lwp_mutex_unlock((lwp_mutex_t *)mp));
lwp_mutex_t mutex;
typedef lwp_mutex_t mutex_t;
int _lwp_mutex_lock(lwp_mutex_t *);
int _lwp_mutex_unlock(lwp_mutex_t *);
int _lwp_mutex_trylock(lwp_mutex_t *);
int _lwp_cond_wait(lwp_cond_t *, lwp_mutex_t *);
int _lwp_cond_timedwait(lwp_cond_t *, lwp_mutex_t *, timespec_t *);
int _lwp_cond_reltimedwait(lwp_cond_t *, lwp_mutex_t *, timespec_t *);
static lwp_mutex_t abi_stdio_mutex = DEFAULTMUTEX;
s10_lwp_mutex_timedlock(sysret_t *rval, lwp_mutex_t *lp, timespec_t *tsp)
s10_lwp_mutex_trylock(sysret_t *rval, lwp_mutex_t *lp)
offsetof(lwp_mutex_t, mutex_lockword));
offsetof(lwp_mutex_t, mutex_lockword));
offsetof(lwp_mutex_t, mutex_lockword));
int _lwp_cond_wait(lwp_cond_t *, lwp_mutex_t *);
int _lwp_cond_timedwait(lwp_cond_t *, lwp_mutex_t *, timespec_t *);
int _lwp_cond_reltimedwait(lwp_cond_t *, lwp_mutex_t *, timespec_t *);
int _lwp_mutex_lock(lwp_mutex_t *);
int _lwp_mutex_unlock(lwp_mutex_t *);
int _lwp_mutex_trylock(lwp_mutex_t *);
static const lwp_mutex_t default_mutex =
lwp_mutex_t m_lock;
int lwp_mutex_timedlock(lwp_mutex_t *, timespec_t *, uintptr_t);
int lwp_mutex_wakeup(lwp_mutex_t *, int);
int lwp_mutex_unlock(lwp_mutex_t *);
int lwp_mutex_trylock(lwp_mutex_t *, uintptr_t);
int lwp_mutex_register(lwp_mutex_t *, caddr_t);
int lwp_cond_wait(lwp_cond_t *, lwp_mutex_t *, timespec_t *, int);
lwp_mutex_t *upi_vaddr; /* virtual address, i.e. user lock ptr */
lwp_mutex_t mutex; /* used with process-shared rwlocks */
set_owner_pid(lwp_mutex_t *lp, uintptr_t owner, pid_t pid)
lwp_clear_mutex(lwp_mutex_t *lp, uint16_t lockflg)
lwp_mutex_t *lp;
lwp_mutex_timedlock(lwp_mutex_t *lp, timespec_t *tsp, uintptr_t owner)
lwp_mutex_wakeup(lwp_mutex_t *lp, int release_all)
lwp_cond_wait(lwp_cond_t *cv, lwp_mutex_t *mp, timespec_t *tsp, int check_park)
lwp_mutex_t *mp = NULL;
lwp_mutex_t *lp;
lp = (lwp_mutex_t *)ent->lwpchan_addr;
lwp_mutex_register(lwp_mutex_t *lp, caddr_t uaddr)
lwp_mutex_trylock(lwp_mutex_t *lp, uintptr_t owner)
lwp_mutex_unlock(lwp_mutex_t *lp)
lwp_upimutex_owned(lwp_mutex_t *lp, uint8_t type)
static void set_owner_pid(lwp_mutex_t *, uintptr_t, pid_t);
lwp_upimutex_lock(lwp_mutex_t *lp, uint8_t type, int try, lwp_timer_t *lwptp)
lwp_upimutex_unlock(lwp_mutex_t *lp, uint8_t type)