USLEEP(3) — NEWS-OS Programmer’s Manual
名称
usleep − 一定時間、実行をサスペンドする
形式
usleep(useconds)
unsigned useconds;
解説
現在のプロセスは、 引数で指定された時間(単位マイクロ秒)、 実行がサスペンドされます。 システム中の他の動作や呼び出しの処理に要する時間のために、 実際のサスペンド時間が指定時間より多少長くなることがあります。
このルーチンは、インターバルタイマをセットしてこれが動作する まで実行を停止することで実現されています。 このタイマの元の状態は、 保存され、 復帰されます。 停止時間がタイマの元の終了時間を 越える場合、 プロセスは、 シグナルが発生するまでの間のみ停止し、 シグナルは、 少し後に送られます。
このルーチンは、 setitimer(2) を 使用して実現されます。 これは、 呼び出されるたびに、 8 個のシステムコールを 要求します。 select(2) 1個を 使用すると、 同様な機能を 得ることができますが、 互換性は少なくなります。 これは、 シグナルの後の再スタートを 行いませんが、 setitimer の他の使用を 妨げることはないでしょう。
関連事項
setitimer(2), getitimer(2), sigpause(2), ualarm(3), sleep(3), alarm(3C)
NEWS-OSRelease 4.1C