pthdb_mutex_addr , pthdb_mutex_lock_count , pthdb_mutex_owner , pthdb_mutex_pshared , pthdb_mutex_prioceiling , pthdb_mutex_protocol , pthdb_mutex_state 或 pthdb_mutex_type 子例程

用途

获取所有者的 pthread ,互斥对象的 pshared 值,优先级上限,协议,锁定状态和类型。

pthread 调试库 (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 报告 prhread_mutex_t 的地址。

pthdb_mutex_lock_count 报告互斥对象的锁定计数。

pthdb_mutex_owner 用于获取拥有互斥对象的 pthread。

pthdb_mutex_pshared 函数用于获取互斥进程共享值。 pshared 值可以是 PSH_SHAREDPSH_PRIVATEPSH_NOTSUP

pthdb_mutex_prioceiling 函数用于获取互斥优先级上限值。

pthdb_mutex_protocol 函数用于获取互斥协议值。 协议值可以是 MP_INHERITMP_PROTECTMP_NONEMP_NOTSUP

pthdb_mutex_state 用于获取互斥锁状态的值。 状态可以是 MS_LOCKEDMS_解锁MS_NOTSUP

pthdb_mutex_type 用于获取互斥对象类型的值。 互斥对象类型的值可以是 MK_NONRECURSIVE_NPMK_RECURSIVE_NPMK_FAST_NPMK_ERRORCHECKMK_RECURSIVEMK_NORMALMK_NOTSUP

参数

描述
addr 互斥地址
计数 (countp) 互斥锁计数
mutex 互斥句柄
所有者 指向互斥对象所有者的指针
psharedp 指向 pshared 值的指针
天花板p 指向优先级上限值的指针
协议 指向协议值的指针
会话 会话句柄。
状态 指向互斥状态的指针
类型 指向互斥对象类型的指针

返回值

如果成功,那么这些函数将返回 PTHDB_SUCCESS。 否则,将返回错误代码。

错误代码

描述
pthdb_bad_mutex 互斥句柄无效。
pthdb_bad_session 会话句柄无效。
PTHDB_CALLBACK 调试器回调错误。
PTHDB_INTERNAL 呼叫失败。
PTHDB_NOSYS 未实现
PTHDB_POINTER 指针无效