UALARM
Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index
JM Home Page
roff page
 
名前
ualarm - 指定したマイクロ秒後にシグナルを送る予定をする
 
書式
#include <unistd.h>
useconds_t ualarm(useconds_t usecs, useconds_t interval);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):
ualarm():
- 
- glibc 2.12 以降:
 - 
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
    || /* Glibc 2.19 以降: */ _DEFAULT_SOURCE
    || /* Glibc 2.19 以前: */ _BSD_SOURCE
 - glibc 2.12 より前:
 - 
 _BSD_SOURCE || _XOPEN_SOURCE >= 500
 
 
 
説明
ualarm()  関数は、呼び出し元のプロセスに対して usecs マイクロ秒 (以上) 後に SIGALRM シグナルを送る。
遅れはシステムの活性度・呼び出しの処理時間・ システムタイマーの粒度によって長くなるかもしれない。
捕捉または無視されない限り、 SIGALRM シグナルはプロセスを終了させる。
interval 引数が 0 でない場合、最初の SIGALRM シグナルの後、 さらに interval マイクロ秒毎に
SIGALRM シグナルが送られる。
 
返り値
この関数は、過去に設定された alarm の残りマイクロ秒数を返す。 実行中の alarm がない場合は 0 を返す。
 
エラー
- EINTR
 - 
シグナルによって中断された。 signal(7)  参照。
 - EINVAL
 - 
usecs または interval が 1000000 未満でない (これがエラーとして扱われるシステムの場合)。
 
 
属性
この節で使用されている用語の説明については、 attributes(7) を参照。
| インターフェース | 属性 | 値
  | 
  ualarm()
 | Thread safety | MT-Safe
  | 
 
準拠
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 プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/ に書かれている。
 Index
- 名前
 - 
 - 書式
 - 
 - 説明
 - 
 - 返り値
 - 
 - エラー
 - 
 - 属性
 - 
 - 準拠
 - 
 - 注意
 - 
 - 関連項目
 - 
 - この文書について
 - 
 
This document was created by
man2html,
using the manual pages.
Time: 16:46:43 GMT, November 24, 2023