Gets the owner's pthread, mutex's pshared value, priority ceiling, protocol, lock state, and type.
pthread debug library (libpthdebug.a)
#include <sys/pthdebug.h>
  int pthdb_mutex_addr (pthdb_session_t  session,
                      pthdb_mutex_t    mutex,
                      pthdb_addr_t * addrp)
int pthdb_mutex_owner (pthdb_session_t  session,
                       pthdb_mutex_t    mutex,
                       pthdb_pthread_t * ownerp)
int pthdb_mutex_lock_count (pthdb_session_t  session,
                            pthdb_mutex_t    mutex,
                            int * countp);
int pthdb_mutex_pshared (pthdb_session_t  session,
                         pthdb_mutex_t    mutex,
                         pthdb_pshared_t * psharedp)
int pthdb_mutex_prioceiling (pthdb_session_t  session,
                            pthdb_mutex_t    mutex,
                            pthdb_pshared_t * prioceilingp)
int pthdb_mutex_protocol (pthdb_session_t  session,
                          pthdb_mutex_t    mutex,
                          pthdb_pshared_t * protocolp)
int pthdb_mutex_state (pthdb_session_t      session,
                       pthdb_mutex_t        mutex,
                       pthdb_mutex_state_t * statep)
int pthdb_mutex_type (pthdb_session_t     session,
                      pthdb_mutex_t       mutex,
                      pthdb_mutex_type_t * typep)
pthdb_mutex_addr reports the address of the prhread_mutex_t.
pthdb_mutex_lock_count reports the lock count of the mutex.
pthdb_mutex_owner is used to get the pthread that owns the mutex.
The pthdb_mutex_pshared function is used to get the mutex process shared value. The pshared value can be PSH_SHARED, PSH_PRIVATE, or PSH_NOTSUP.
pthdb_mutex_prioceiling function is used to get the mutex priority ceiling value.
pthdb_mutex_protocol function is used to get the mutex protocol value. The protocol value can be MP_INHERIT, MP_PROTECT, MP_NONE, or MP_NOTSUP.
pthdb_mutex_state is used to get the value of the mutex lock state. The state can be MS_LOCKED, MS_UNLOCKED or MS_NOTSUP.
pthdb_mutex_type is used to get the value of the mutex type. The values for the mutex type can be MK_NONRECURSIVE_NP, MK_RECURSIVE_NP, MK_FAST_NP, MK_ERRORCHECK, MK_RECURSIVE, MK_NORMAL, or MK_NOTSUP.
| Item | Description | 
|---|---|
| addr | Mutex address | 
| countp | Mutex lock count | 
| mutex | Mutex handle | 
| ownerp | Pointer to mutex owner | 
| psharedp | Pointer to pshared value | 
| prioceilingp | Pointer to priority ceiling value | 
| protocolp | Pointer to protocol value | 
| session | Session handle. | 
| statep | Pointer to mutex state | 
| typep | Pointer to mutex type | 
If successful, these functions return PTHDB_SUCCESS. Otherwise, an error code is returned.
| Item | Description | 
|---|---|
| PTHDB_BAD_MUTEX | Invalid mutex handle. | 
| PTHDB_BAD_SESSION | Invalid session handle. | 
| PTHDB_CALLBACK | Debugger call back error. | 
| PTHDB_INTERNAL | Call failed. | 
| PTHDB_NOSYS | Not implemented | 
| PTHDB_POINTER | Invalid pointer |