The timeout service enables supervisor actors to set up timeouts. A timeout may be described as a callback performed after a given delay has expired. Callbacks are performed using the LAP invocation mechanism.
The TIMEOUT
feature provides the traditional
one-shot timeout service. At timeout expiration, a caller-provided handler
is executed directly at the interrupt level. The execution is generally performed
on the interrupt stack (if it exists) with the thread scheduling disabled.
The handler execution environment will be restricted accordingly. This feature
is restricted to supervisor threads.
In the current version of the ChorusOS operating system, timeouts are based on a regular system-wide clock tick, and timeout granularity is determined by the clock tick.
The timeout API includes the following system calls:
Cancel a timeout
Request a timeout
Get timeout resolution