io_getevents - システムコールの説明 - Linux コマンド集 一覧表
名前
io_getevents - 完了キューから非同期 I/O イベントを読み出す
書式
#include <linux/time.h>
#include <libaio.h>
intio_getevents
(io_context_tctx_id
, longmin_nr
, longnr
, structio_event*events
, structtimespec*timeout
);
説明
io_getevents
() は、少なくとも min_nr
の、最大 nr
個の
イベントを、 ctx_id
で指定された AIO (非同期 I/O) コンテキストの
完了キューから読み出そうとする。
timeout
はイベント読み出しの待ち時間の合計を指定する。
タイムアウトに NULL を指定した場合、少なくとも min_nr
個のイベントが
読み出されるまで待つことを意味する。
注意点を以下にあげる:
timeout
は相対的な指定である。
NULL でない場合更新されることもありえる。
呼び出し元の動作は停止する。
返り値
io_getevents () は読み出したイベント数を返す。 イベントが一つも読み出されなかった場合は 0 が返され、 timeout 時間が経過した場合は min_nr 未満の値が返される。
エラー
- EINVAL
- ctx_id が無効である。もしくは、min_nr または nr が 範囲外の値である。
- EFAULT
- events または timeout が無効なポインタである。
- ENOSYS
- io_getevents () がこのアーキテクチャでは実装されていない。
準拠
io_getevents () は Linux 固有であり、移植を想定したプログラムで 使用すべきではない。
バージョン
非同期 I/O システム・コールは 2002年8月に Linux 2.5 で初めて登場した。
関連項目
io_setup (2), io_submit (2), io_getevents (2), io_cancel (2), io_destroy (2).
注
非同期 I/O システム・コールは Benjamin LaHaise が書いた。
著者
Kent Yoder.