pm_clear_ebb_handler 子例程
用途
清除为调用线程配置的基于事件的分支 (EBB) 工具。
库
性能监视器 API 库 (libpmapi.a)
语法
#include <pmapi.h>
int pm_clear_ebb_handler (void ** old_handler, void ** old_data_area)
描述
pm_clear_ebb_handler 子例程通过 pm_set_ebb_handler 子例程清除先前为调用线程配置的 EBB 工具。
注: 仅当线程方式为 1: 1 并且未启动线程计数时,才能调用 pm_clear_ebb_handler 子例程。
参数
| 项 | 描述 |
|---|---|
| old_handler | 为线程配置的旧 EBB 处理程序。 如果值不是必需的,那么可以将其设置为 NULL。 |
| old_data_area | 旧 EBB 数据区。 如果值不是必需的,那么可以将其设置为 NULL。 |
返回值
如果不成功,那么将返回除零以外的值并设置正错误代码。 如果成功,将返回值 0。
错误代码
如果返回了下列其中一个错误代码,那么子例程将失败:
| 项 | 描述 |
|---|---|
| Pmapi_NoInit | 未调用 pm_initialize 子例程。 |
| Pmapi_Unsupported_EBBThreadMode | 线程未以 1: 1 方式运行。 |
| Pmapi_NoSetProg | 未调用 pm_set_program 子例程。 |
| Pmapi_Invalid_EBB_Config | PTHREAD_EBB_PMU_TYPE 标志未传递到 pthread 子例程。 |
| Pmapi_EBB_NotSet | EBB 处理程序未由调用者设置。 |
| 非零错误代码 | 由 pthread 调用或 pmsvcs 调用返回。 |
文件
pmapi.h 文件定义标准宏,数据类型和子例程。