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

名前

       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 プロジェクトのリリース 3.79 の一部  である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。