摘要
啟動計時器。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_timer_set(zx_handle_t handle,
zx_time_t deadline,
zx_duration_t slack);
說明
zx_timer_set()
會啟動一次性計時器,啟動時間如下:
期限票證。如果之前對 zx_timer_set()
的通話是
系統會取消上一個計時器
已視需要移除 ZX_TIMER_SIGNALED
。
deadline 參數會指定與
ZX_CLOCK_MONOTONIC
。如要等待相對間隔
在期限中使用 zx_deadline_after()
傳回的值。
如要觸發計時器,立即傳遞小於或等於 0
的期限。
計時器觸發時會斷言 ZX_TIMER_SIGNALED
。如要撤銷這個問題
再次呼叫 zx_timer_cancel()
或 zx_timer_set()
信號。
slack 參數可指定 deadline - slack 到 deadline + slack,即允許計時器觸發。系統 使用這個參數來提示鄰近的計時器。
精確的共乘行為是由 options 參數控制
系統在建立計時器時所指定的時間ZX_TIMER_SLACK_EARLY
僅允許
進入期限 - 間隔間隔和 ZX_TIMER_SLACK_LATE
只允許在「期限」+「slack」的間隔內啟動。預設
選項值為 0 為 ZX_TIMER_SLACK_CENTER
,允許採用
延遲觸發,有效的期限 - slack 到
期限 + slack
權限
handle 必須是 ZX_OBJ_TYPE_TIMER
類型,且包含 ZX_RIGHT_WRITE
。
傳回值
zx_timer_set()
會在成功時傳回 ZX_OK
。
如果失敗,系統會傳回負的錯誤值。
錯誤
ZX_ERR_BAD_HANDLE
帳號代碼不是有效的帳號代碼。
ZX_ERR_ACCESS_DENIED
帳號代碼缺少正確的 ZX_RIGHT_WRITE
。
ZX_ERR_OUT_OF_RANGE
的「slack」為負值。