摘要
為計數器新增值。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_event_add(zx_handle_t handle, int64_t value);
說明
zx_counter_add()
會將 value 加到 handle 參照的計數器。
在加法結果後,如果計數器的值為:
小於或等於零:系統會斷言
ZX_COUNTER_NON_POSITIVE
,並取消斷言ZX_COUNTER_POSITIVE
。- 大於零 - 系統會斷言
ZX_COUNTER_POSITIVE
,並取消斷言ZX_COUNTER_NON_POSITIVE
。
- 大於零 - 系統會斷言
權限
handle 必須同時具備 ZX_RIGHT_READ
和 ZX_RIGHT_WRITE
。由於計數器的值可透過一系列精心設計的 zx_counter_add()
呼叫檢查 ZX_ERR_OUT_OF_RANGE
來判斷,因此無法建立無法讀取但可新增的計數器。
傳回值
zx_counter_add()
會在成功時傳回 ZX_OK
。
失敗時,系統會傳回錯誤值。
錯誤
ZX_ERR_WRONG_TYPE
如果 handle 不是計數器 handle。
如果 handle 沒有 ZX_RIGHT_WRITE
,則為 ZX_ERR_ACCESS_DENIED
。
如果加法結果會溢位或欠位,就會傳回 ZX_ERR_OUT_OF_RANGE
。
另請參閱
zx_object_wait_async()
zx_object_wait_many()
zx_object_wait_one()
zx_counter_create()
zx_counter_read()
zx_counter_write()