zx_timer_set

摘要

啟動計時器。

宣告

#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 - slackdeadline + 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」為負值。

另請參閱