描述 超时 服务未包含在内核中。 但是,它是 libsys.a 库中提供的兼容性服务。 要使用 timeout 服务,内核扩展必须与 libsys.a 库绑定。 超时 服务 (例如,相关联的内核服务 取消超时 和 timeoutcf) 只能在内核扩展的固定部分或设备驱动程序的下半部分中进行绑定和使用,因为这些服务使用中断禁用进行序列化。
超时 服务将 丰克 参数所指向的函数调度为在 蒂克斯 参数指定的计时器刻度标记数之后使用 阿尔格 参数进行调用。 使用 timeoutcf 例程来分配足够的调出元素,以满足您期望的最大同时活动超时数。
注: 必须先调用 timeoutcf 例程,然后才能调用 超时 服务。
在未分配足够的调出表条目的情况下调用 超时 服务可能会由于缺少固定的调出表元素而导致内核恐慌。 计时器刻度标记的值取决于硬件的功能。 您可以使用 重新计时器 子例程来确定最小粒度。
不允许多个具有相同 丰克 和 阿尔格 参数的暂挂 超时 请求。
func 参数
必须将 丰克 参数指定的函数声明为如下所示:
void func (arg)
void *arg;