TIMEOUT(9)

名称
timeout, untimeout - 指定時間後の関数の実行

書式
void timeout(void (*fnt)(void *), void *arg, int ticks) void untimeout(void (*fnt)(void *), void *arg)

解説
関数 timeout() は、 ticks/hz 秒後に、 fnt で与えられる関数を呼ぶようスケジューリングします。 ticks が正の数でない場合は暗黙に ‘1’ に変換されます。 fnt は void * を引数に持つ関数へのポインタであり、 timeout() に渡す arg がそのまま引数として渡されます。

関数 untimeout() は、 <fnt,arg> のペアが一致する、予約されている呼び出しで最初に見つけたもの (すなわち、実行までに残ってる時間が一番少いもの) をキャンセルします。 もし、callout キューの中に一致するものがなかったなら何も起こりません。

関連項目
hz(9)

バグ
untimeout() は、たぶん一致するものすべてのものをキューから取りのぞくべきでしょう。