Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
aio_init - 非同期 I/O の初期化
書式
#define _GNU_SOURCE /* See feature_test_macros(7) */ #include <aio.h> void aio_init(const struct aioinit *init); -lrt でリンクする。
説明
GNU 固有の aio_init() 関数を使うと、呼び出し側が glibc の POSIX AIO 実装に 対して調整 (チューニング) のヒントを与えることができる。この関数は使用しなく てもよいが、この関数が効 果を持つには、POSIX AIO API の他の関数を利用する前に 呼び出さなければならない。 チューニングの情報は、引数 init が指すバッファーで与える。 このバッファーは以下の形式の構 造体である。 struct aioinit { int aio_threads; /* Maximum number of threads */ int aio_num; /* Number of expected simultaneous requests */ int aio_locks; /* Not used */ int aio_usedba; /* Not used */ int aio_debug; /* Not used */ int aio_numusers; /* Not used */ int aio_idle_time; /* Number of seconds before idle thread terminates (since glibc 2.2) */ int aio_reserved; }; aioinit 構造体のフィールドのうち以下が使用される。 aio_threads このフィールドは、AIO の実装が使用できるワーカースレッド数の最大値を指定する。 完了 していない I/O 操作の数がこの上限を超えた場合、超過した操作は 空いたワーカースレッ ドができるまでキューに入る。 このフィールドに 1 未満の値を指定した場合には、値 1 が 使用される。 デフォルト値は 20 である。 aio_num このフィールドは、呼び出し側がキューに入れる予定の 同時 I/O リクエスト数の最大値を 指定する。 このフィールドに 32 未満の値が指定された場合、値は 32 に切り上げられる。 デフォルト値は 64 である。 aio_idle_time このフィールドは、あるワーカースレッドが、前のリクエストの処理を完了してから、 次の リクエストをどのくらい時間待つかを秒単位で指定する。 指定した時間を経過しても次のリ クエストがなければ、 そのワーカースレッドは終了される。デフォルト値は 1 秒である。
バージョン
The aio_init() 関数は glibc 2.1 以降で利用できる。
準拠
この関数は GNU による拡張である。
関連項目
aio(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。