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)
语法
描述
pthdb_mutex_addr 报告 prhread_mutex_t 的地址。
pthdb_mutex_lock_count 报告互斥对象的锁定计数。
pthdb_mutex_owner 用于获取拥有互斥对象的 pthread。
pthdb_mutex_pshared 函数用于获取互斥进程共享值。 pshared 值可以是 PSH_SHARED, PSH_PRIVATE或 PSH_NOTSUP。
pthdb_mutex_prioceiling 函数用于获取互斥优先级上限值。
pthdb_mutex_protocol 函数用于获取互斥协议值。 协议值可以是 MP_INHERIT, MP_PROTECT, MP_NONE或 MP_NOTSUP。
pthdb_mutex_state 用于获取互斥锁状态的值。 状态可以是 MS_LOCKED, MS_解锁 或 MS_NOTSUP。
pthdb_mutex_type 用于获取互斥对象类型的值。 互斥对象类型的值可以是 MK_NONRECURSIVE_NP, MK_RECURSIVE_NP, MK_FAST_NP, MK_ERRORCHECK, MK_RECURSIVE, MK_NORMAL或 MK_NOTSUP。
参数
| 项 | 描述 |
|---|---|
| addr | 互斥地址 |
| 计数 (countp) | 互斥锁计数 |
| mutex | 互斥句柄 |
| 所有者 | 指向互斥对象所有者的指针 |
| psharedp | 指向 pshared 值的指针 |
| 天花板p | 指向优先级上限值的指针 |
| 协议 | 指向协议值的指针 |
| 会话 | 会话句柄。 |
| 状态 | 指向互斥状态的指针 |
| 类型 | 指向互斥对象类型的指针 |
返回值
如果成功,那么这些函数将返回 PTHDB_SUCCESS。 否则,将返回错误代码。
错误代码
| 项 | 描述 |
|---|---|
| pthdb_bad_mutex | 互斥句柄无效。 |
| pthdb_bad_session | 会话句柄无效。 |
| PTHDB_CALLBACK | 调试器回调错误。 |
| PTHDB_INTERNAL | 呼叫失败。 |
| PTHDB_NOSYS | 未实现 |
| PTHDB_POINTER | 指针无效 |