zx_counter_add

摘要

向计数器添加值。

声明

#include <zircon/syscalls.h>

zx_status_t zx_event_add(zx_handle_t handle, int64_t value);

说明

zx_counter_add() 会将 value 添加到 handle 引用的计数器。

在相加结果之后,如果计数器的值为:

  • 小于或等于 0 - ZX_COUNTER_NON_POSITIVE 将被断言,ZX_COUNTER_POSITIVE 将被取消断言。

    • 大于零 - 系统会断言 ZX_COUNTER_POSITIVE 并取消断言 ZX_COUNTER_NON_POSITIVE

权限

handle 必须同时具有 ZX_RIGHT_READZX_RIGHT_WRITE。由于可以通过检查一系列精心设计的 zx_counter_add() 调用是否存在 ZX_ERR_OUT_OF_RANGE 来确定计数器的值,因此无法创建无法读取但可以添加的计数器。

返回值

zx_counter_add() 在成功时会返回 ZX_OK

失败时,系统会返回错误值。

错误

如果 handle 不是计数器句柄,则为 ZX_ERR_WRONG_TYPE

如果 handle 没有 ZX_RIGHT_WRITE,则会引发 ZX_ERR_ACCESS_DENIED

如果相加的结果会溢出或欠载,则返回 ZX_ERR_OUT_OF_RANGE

另请参阅