Gets the owner, the pshared value, or the state of the read/write lock.
pthread debug library (libpthdebug.a)
#include <sys/pthdebug.h>
  int pthdb_rwlock_addr (pthdb_session_t  session,
                       pthdb_rwlock_t   rwlock,
                       pthdb_addr_t * addrp)
int pthdb_rwlock_lock_count (pthdb_session_t  session,
                             pthdb_rwlock_t   rwlock,
                             int * countp);
int pthdb_rwlock_owner (pthdb_session_t  session,
                        pthdb_rwlock_t   rwlock,
                        pthdb_pthread_t * ownerp
                        int              cmd)
int pthdb_rwlock_pshared (pthdb_session_t  session,
                          pthdb_rwlock_t   rwlock,
                          pthdb_pshared_t * psharedp)
int pthdb_rwlock_state (pthdb_session_t       session,
                        pthdb_rwlock_t        rwlock,
                        pthdb_rwlock_state_t * statep)
The pthdb_rwlock_addr function reports the address of the pthdb_rwlock_t.
The pthdb_rwlock_lock_count function reports the lock count for the rwlock.
The pthdb_rwlock_owner function is used to get the read/write lock owner's pthread handle.
The pthdb_rwlock_pshared function is used to get the rwlock attribute process shared value. The pshared value can be PSH_SHARED, PSH_PRIVATE, or PSH_NOTSUP.
The pthdb_rwlock_state is used to get the read/write locks state. The state can be RWLS_NOTSUP, RWLS_WRITE, RWLS_FREE, and RWLS_READ.
| Item | Description | 
|---|---|
| addrp | Read write lock address. | 
| countp | Read write lock lock count. | 
| cmd | cmd can be PTHDB_LIST_FIRST to get the first owner in the list of owners or PTHDB_LIST_NEXT to get the next owner in the list of owners. The list is empty or ended by *owner == PTHDB_INVALID_PTHREAD. | 
| ownerp | Pointer to pthread which owns the rwlock | 
| psharedp | Pointer to pshared value | 
| rwlock | Read write lock handle | 
| session | Session handle. | 
| statep | Pointer to state value | 
If successful, these functions return PTHDB_SUCCESS. Otherwise, an error code is returned.
| Item | Description | 
|---|---|
| PTHDB_BAD_SESSION | Invalid session handle. | 
| PTHDB_BAD_CMD | Invalid command passed. | 
| PTHDB_CALLBACK | Debugger call back error. | 
| PTHDB_INTERNAL | Error in library. | 
| PTHDB_POINTER | Invalid pointer |