kazmax - Linux で自宅サーバー

ualarm - ライブラリコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. 準拠
  7. 注意
  8. 関連項目

名前

ualarm - 指定したマイクロ秒後にシグナルを送る予定をする

書式

/* BSD 版 */
"#include <unistd.h>"

unsigned int ualarm(unsigned int usecs, unsigned int interval);
/* SUSv2 版 */ "#define _XOPEN_SOURCE 500"
"#include <unistd.h>"
useconds_t ualarm(useconds_t usecs, useconds_t interval);

説明

ualarm () 関数は、呼び出し元のプロセスに対して usecs マイクロ秒 (以上) 後にシグナル SIGALRM を送る。 遅れはシステムの活性度・呼び出しの処理時間・ システムタイマーの粒度によって長くなるかもしれない。

キャッチまたは無視されない限り、 このシグナルはプロセスを終了させる。

interval 引き数が 0 でない場合、最初の SIGALRM シグナルの後、 更に interval マイクロ秒毎に SIGALRM シグナルが送られる。

返り値

この関数は前の呼び出しから残っているマイクロ秒数を返す。 実行中の alarm がない場合は 0 を返す。

エラー

EINTR
シグナルによって割り込まれた。
EINVAL
usecs または interval が 1000000 未満でない (これがエラーとして扱われるシステムの場合)。

準拠

4.3BSD, POSIX.1-2001. 4.3BSD, SUSv2, POSIX はエラーを定義していない。

注意

useconds_t 型は [0,1000000] の範囲の整数を保持できる符号なし整数型である。 この型は <sys/types.h> で定義されていて、 <unistd.h> にインクルードされている。 しかし glibc では、_XOPEN_SOURCE が 500 未満の値を持っている場合、 または _XOPEN_SOURCE と _XOPEN_SOURCE_EXTENDED の 両方が定義されている場合にのみ、この型が定義される。 プログラム中にこの型を明示的に書かない方が、移植性がより高くなる。

この関数と alarm (), sleep (), nanosleep (), setitimer (), timer_create (), timer_delete (), timer_getoverrun (), timer_gettime (), timer_settime (), usleep ()のような他のタイマー関数との相互作用は規定されていない。

この関数は廃れたものである。 代わりに   nanosleep (2) または setitimer (2)を使うこと。

関連項目