zx_timer_create

总结

创建计时器。

声明

#include <zircon/syscalls.h>

zx_status_t zx_timer_create(uint32_t options,
                            zx_clock_t clock_id,
                            zx_handle_t* out);

说明

zx_timer_create() 会创建一个计时器,这个对象可以在到达指定时间点时发出信号。唯一有效的 clock_idZX_CLOCK_MONOTONIC

options 值指定合并行为,用于控制系统是否可以根据其他待处理的计时器提前或延后触发时间。

可能的值包括:

  • ZX_TIMER_SLACK_CENTER
  • ZX_TIMER_SLACK_EARLY
  • ZX_TIMER_SLACK_LATE

在选项中传递 0 相当于 ZX_TIMER_SLACK_CENTER

如需了解详情,请参阅计时器延迟

返回的句柄具有 ZX_RIGHT_DUPLICATEZX_RIGHT_TRANSFERZX_RIGHT_WRITEZX_RIGHT_SIGNALZX_RIGHT_WAITZX_RIGHT_INSPECT 权限。

权限

调用方作业政策必须允许 ZX_POL_NEW_TIMER

返回值

zx_timer_create() 会在成功时返回 ZX_OK。如果失败,则返回负的错误值。

错误

ZX_ERR_INVALID_ARGS out 是无效的指针或 NULL,或者 options 不是任何 ZX_TIMER_SLACK 值,或者 clock_idZX_CLOCK_MONOTONIC 以外的任何值。

ZX_ERR_NO_MEMORY 由于内存不足而失败。 用户空间没有什么方法来处理此(不太可能)错误。在以后的 build 中,此错误不会再发生。

另请参阅