blob: 2fad48c20c8edd7f478af0547301ba5821b60b73 [file] [log] [blame] [view]
# Timer
## NAME
timer - An object that may be signaled at some point in the future
## SYNOPSIS
A timer is used to wait until a specified point in time has occurred
or the timer has been canceled.
## DESCRIPTION
Like other waitable objects, timers can be waited on via
[`zx_object_wait_one()`], [`zx_object_wait_many()`], or
[`zx_object_wait_async()`].
A given timer can be used over and over.
Once **ZX_TIMER_SIGNALED** is asserted, it will remain asserted until
the timer is canceled ([`zx_timer_cancel()`]) or reset ([`zx_timer_set()`]).
The typical lifecycle is:
1. `zx_timer_create()`
2. `zx_timer_set()`
3. wait for the timer to be signaled
4. optionally reset and reuse the timer (i.e. goto #2)
5. `zx_handle_close()`
## SYSCALLS
- [`zx_timer_create()`] - create a timer
- [`zx_timer_set()`] - set a timer
- [`zx_timer_cancel()`] - cancel a timer
## SEE ALSO
+ [timer slack](../timer_slack.md)
[`zx_object_wait_one()`]: /docs/reference/syscalls/object_wait_one.md
[`zx_object_wait_many()`]: /docs/reference/syscalls/object_wait_many.md
[`zx_object_wait_async()`]: /docs/reference/syscalls/object_wait_async.md
[`zx_timer_create()`]: /docs/reference/syscalls/timer_create.md
[`zx_timer_set()`]: /docs/reference/syscalls/timer_set.md
[`zx_timer_cancel()`]: /docs/reference/syscalls/timer_cancel.md