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 文件定义标准宏,数据类型和子例程。