JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ct itimerspec * old_value ); int timerfd_gettime(int fd , struct itimerspec * curr_value ); 説明 これらのシステムコールは、満了通知をファイルディスクリプター経由で配送する タイマーの生成と操作を行う。 これらは、 setitimer (2) や timer_create (2) を用い ... time () は、ファイルディスクリプター fd により参照されるタイマーを開始したり停止したりする。 new_value 引き数は、タイマーの満了時間 (expiration) の初期値と間隔 (interval) を 指定する。この引き数で使用されている itimerspec 構造体には 2 つのフィールドが ... al; /* Interval for periodic timer */ struct timespec it_value; /* Initial expiration */ }; new_value.it_value はタイマーの満了時間の初期値を、秒とナノ秒で指定する。 new_value.it_value のフィールドのうち少なくとも一方に 0 以外の値を設定すると、 タイマ ... ... ct itimerspec * old_value ); int timerfd_gettime(int fd , struct itimerspec * curr_value ); 説明 これらのシステムコールは、満了通知をファイルディスクリプター経由で配送する タイマーの生成と操作を行う。 これらは、 setitimer (2) や timer_create (2) を用い ... time () は、ファイルディスクリプター fd により参照されるタイマーを開始したり停止したりする。 new_value 引き数は、タイマーの満了時間 (expiration) の初期値と間隔 (interval) を 指定する。この引き数で使用されている itimerspec 構造体には 2 つのフィールドが ... al; /* Interval for periodic timer */ struct timespec it_value; /* Initial expiration */ }; new_value.it_value はタイマーの満了時間の初期値を、秒とナノ秒で指定する。 new_value.it_value のフィールドのうち少なくとも一方に 0 以外の値を設定すると、 タイマ ... ... ct itimerspec * old_value ); int timerfd_gettime(int fd , struct itimerspec * curr_value ); 説明 これらのシステムコールは、満了通知をファイルディスクリプター経由で配送する タイマーの生成と操作を行う。 これらは、 setitimer (2) や timer_create (2) を用い ... time () は、ファイルディスクリプター fd により参照されるタイマーを開始したり停止したりする。 new_value 引き数は、タイマーの満了時間 (expiration) の初期値と間隔 (interval) を 指定する。この引き数で使用されている itimerspec 構造体には 2 つのフィールドが ... al; /* Interval for periodic timer */ struct timespec it_value; /* Initial expiration */ }; new_value.it_value はタイマーの満了時間の初期値を、秒とナノ秒で指定する。 new_value.it_value のフィールドのうち少なくとも一方に 0 以外の値を設定すると、 タイマ ... ... は 1 個のプロセスにつき 3 個のインターバルタイマーを提供する。 それぞれのタイマーは別々の時間領域で減少する。 あるタイマーが満了すると、 プロセスにシグナルが送られ、 タイマーは (0 でなければ) 指定されたインターバルに再設定される。 ITIMER_REAL 実時間 (r ... eal time) で減少し、満了すると SIGALRM が送られる。 ITIMER_VIRTUAL プロセスが実行されている間のみ減少し、満了すると SIGVTALRM が送られる。 ITIMER_PR ... 組み合わされて、アプリケーションがカーネル空間とユーザー空間で どれだけの時間を過ごしたかをプロファイルするのに使用される。 満了すると SIGPROF が送られる。 タイマーの値は以下の構造体によって定義される: struct itimerval { struct timeval it_interval; /* ... ... は 1 個のプロセスにつき 3 個のインターバルタイマーを提供する。 それぞれのタイマーは別々の時間領域で減少する。 あるタイマーが満了すると、 プロセスにシグナルが送られ、 タイマーは (0 でなければ) 指定されたインターバルに再設定される。 ITIMER_REAL 実時間 (r ... eal time) で減少し、満了すると SIGALRM が送られる。 ITIMER_VIRTUAL プロセスが実行されている間のみ減少し、満了すると SIGVTALRM が送られる。 ITIMER_PR ... 組み合わされて、アプリケーションがカーネル空間とユーザー空間で どれだけの時間を過ごしたかをプロファイルするのに使用される。 満了すると SIGPROF が送られる。 タイマーの値は以下の構造体によって定義される: struct itimerval { struct timeval it_interval; /* ... ... をそのスレッドのデフォルトの timer slack 値にリセットする。 カーネルは timer slack を使って、 呼び出し元スレッドのタイマー満了のうち、どのくらい近いものグルーピングする (一纏めにする) かを決める。 その結果、 そのスレッドのタイマーの満了は最大で指定さ ... れたナノ秒分だけ遅れる場合がある。 タイマー満了をグルーピングすることで、 CPU を起こす回数が最小化されシステムの消費電力を減らすことができる。 timer slack の影響を受けるの ... oll (2), ppoll (2), epoll_wait (2), epoll_pwait (2), clock_nanosleep (2), nanosleep (2), futex (2) により設定されたタイマー満了である (また、 futex を使って実装されているライブラリ関数 pthread_cond_timedwait (3), pthread_mutex_timedlock (3), pthread_r ... ... 期限に停止 (block) する。 停止 (blocking) モードの recvmmsg () の呼び出しは、 vlen 個のメッセージを受信するか、タイムアウトが満了するまで停止する。 非停止 (nonblocking) モードの呼び出しでは、 読み出し可能なメッセージ (最大で vlen 個) を読み出し、 すぐに ... out 引数は意図した通りには動作しない。 タイムアウトは各データグラムの受信後にのみチェックされる。 そのため、 タイムアウトが満了する前に vlen-1 個のデータグラムを受信し、 その後全くデータグラムを受信しなかった場合、 呼び出しはずっと停止し続けてしまう。 ... ... ベントに関する情報をプロセスに通知するために様々な API で使用される (イベントの例としては、 非同期処理要求の完了、 タイマーの満了、 メッセージの到着など)。 「書式」に記載されている定義はおおよそのものである。 sigevent 構造体のいくつかのフィールドは、 共 ... ... il either: • ファイルディスクリプターがイベントを配送した • 呼び出しがシグナルハンドラーにより割り込まれた • タイムアウトが満了する timeout 時間はシステムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延により少しだけ長くなる可能性がある点に ... ... il either: • ファイルディスクリプターがイベントを配送した • 呼び出しがシグナルハンドラーにより割り込まれた • タイムアウトが満了する timeout 時間はシステムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延により少しだけ長くなる可能性がある点に ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。