posix_trace_flush 子例程
用途
在跟踪流上启动清空。
库
Posix 跟踪库 (libposixtrace.a)
语法
#include <sys/types.h>
#include <trace.h>
int posix_trace_flush (trid)
trace_id_t trid;描述
posix_trace_flush 子例程启动清空操作,该操作将 trid 参数所标识的跟踪流的内容复制到创建时与跟踪流相关联的跟踪日志中。 如果没有跟踪日志与 trid 参数指向的跟踪流相关联,那么此子例程将返回错误。 清空操作的终止可以由 posix_trace_get_status 子例程进行轮询。 完成清空后,清空的跟踪事件所使用的空间可用于跟踪新的跟踪事件。 在清空操作期间,可以跟踪新的跟踪事件,直到跟踪流变满为止。
如果清空跟踪流使跟踪日志已满,那么将应用跟踪日志已满策略。 如果设置了 trace log-full-policy 属性,那么会发生以下情况:
- posix_trace_until_full
- 将废弃未清空的跟踪事件。
- posix_trace_loop
- 未清空的跟踪事件将写入跟踪日志的开头,覆盖存储在其中的先前跟踪事件。
- posix_trace_append
- 未清空的跟踪事件将追加到跟踪日志中。
对于具有日志的活动跟踪流,当调用 posix_trace_shutdown 子例程时,将清空所有尚未清空到跟踪日志的跟踪事件,并关闭跟踪日志。
当跟踪日志关闭时,以后可以通过跟踪接口从跟踪日志中检索的所有信息都将写入跟踪日志。 此信息包括跟踪属性,跟踪事件类型列表 (带有跟踪事件名称和跟踪事件类型标识之间的映射) 以及跟踪状态。
直到清空所有跟踪事件之后, posix_trace_shutdown 子例程才会返回。
参数
| 项 | 描述 |
|---|---|
| 叛徒 | 指定跟踪流标识。 |
返回值
成功完成时,这些子例程将返回值 0。 否则,将返回相应的错误号。
错误
| 项 | 描述 |
|---|---|
EINVAL |
trid 参数的值与具有日志的活动跟踪流不对应。 |
ENOSPC |
设备上没有剩余空间。 |