Provided by: manpages-ja-dev_0.5.0.0.20180315+dfsg-1_all 

名前
ualarm - 指定したマイクロ秒後にシグナルを送る予定をする
書式
#include <unistd.h>
useconds_t ualarm(useconds_t usecs, useconds_t interval);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
ualarm():
glibc 2.12 以降:
_BSD_SOURCE ||
(_XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
!(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
glibc 2.12 より前: _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
説明
ualarm() 関数は、呼び出し元のプロセスに対して usecs マイクロ秒 (以上) 後に SIGALRM シグナルを送る。 遅れ
はシステムの活性度・呼び出しの処理時間・ システムタイマーの粒度によって長くなるかもしれない。
捕捉または無視されない限り、 SIGALRM シグナルはプロセスを終了させる。
interval 引き数が 0 でない場合、最初の SIGALRM シグナルの後、 さらに interval マイクロ秒毎に SIGALRM シグ
ナルが送られる。
返り値
この関数は、過去に設定された alarm の残りマイクロ秒数を返す。 実行中の alarm がない場合は 0 を返す。
エラー
EINTR シグナルによって割り込まれた。
EINVAL usecs または interval が 1000000 未満でない (これがエラーとして扱われるシステムの場合)。
属性
マルチスレッディング (pthreads(7) 参照) ualarm() 関数はスレッドセーフである。
準拠
4.3BSD, POSIX.1-2001. POSIX.1-2001 では ualarm() は過去のものとされている。 POSIX.1-2008 では、
ualarm() の仕様が削除されている。 4.3BSD, SUSv2, POSIX はエラーを定義していない。
注意
POSIX.1-2001 では、 usecs 引き数が 0 の場合、何が起こるかは規定されていない。 Linux (やおそらく他ほとんど
のシステム) では、 usecs 引き数が 0 の場合、処理待ちのアラームがキャンセルされる。
useconds_t 型は [0,1000000] の範囲の整数を保持できる符号なし整数型である。 もともとの BSD での実装
や、バージョン 2.1 より前の glibc では、 ualarm() の引き数の型は unsigned int であった。 プログラム中に
明示的に useconds_t と書かない方が、移植性が高くなる。
この関数と alarm(2), sleep(3), nanosleep(2), setitimer(2), timer_create(2), timer_delete(2),
timer_getoverrun(2), timer_gettime(2), timer_settime(2), usleep(3) のような他のタイマー関数との相互作用は
規定されていない。
この関数は廃止予定である。 代わりに setitimer(2) もしくは POSIX インターバルタイマー (timer_create(2)
など) を使うこと。
関連項目
alarm(2), getitimer(2), nanosleep(2), select(2), setitimer(2), usleep(3), time(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告
に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2013-12-23 UALARM(3)