Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

       aio_init - инициализирует асинхронный ввод-вывод

LIBRARY

       Real-time library (librt, -lrt)

СИНТАКСИС

       #define _GNU_SOURCE         /* см. feature_test_macros(7) */
       #include <aio.h>

       void aio_init(const struct aioinit *init);

ОПИСАНИЕ

       Имеющаяся  только  в  GNU  функция  aio_init()  позволяет вызывающему указать подстроечные
       подсказки реализации glibc POSIX AIO. Использовать данную функцию  необязательно,  но  для
       эффективности  её  нужно  вызвать перед вызовом какой-либо функции программного интерфейса
       POSIX AIO.

       Подстроечная информация передаётся в буфере, на который указывает  параметр  init.  Данный
       буфер представляет собой следующую структуру:

           struct aioinit {
               int aio_threads;    /* максимальное количество нитей */
               int aio_num;        /* количество ожидаемых одновременных
                                      запросов */
               int aio_locks;      /* не используется */
               int aio_usedba;     /* не используется */
               int aio_debug;      /* не используется */
               int aio_numusers;   /* не используется */
               int aio_idle_time;  /* количество секунд перед завершением
                                      незанятой нити (начиная с glibc 2.2) */
               int aio_reserved;
           };

       В структуре aioinit используются следующие поля:

       aio_threads
              В этом поле задаётся максимальное количество обрабатывающих (worker) нитей, которые
              могут использоваться в реализации. Если количество ожидающих операций  ввода-вывода
              превышает  это  значение,  то  лишние  операции будут в очереди до тех пор, пока не
              освободится обрабатывающая нить. Если  значение  поля  меньше  1,  то  используется
              значение 1. Значение по умолчанию равно 20.

       aio_num
              В  этом  поле задаётся максимальное количество одновременных запросов ввода-вывода,
              которое вызывающий хочет видеть в очереди. Если значение поля  меньше  32,  то  оно
              округляется до 32. Значение по умолчанию равно 64.

       aio_idle_time
              В  этом поле задаётся период времени в секундах, который обрабатывающая нить должна
              ждать  следующего  запроса  перед  своим  уничтожением,  отсчитывая  от   окончания
              выполнения предыдущего запроса. Значение по умолчанию равно 1.

ВЕРСИИ

       Функция aio_init() доступна в glibc начиная с версии 2.1.

СТАНДАРТЫ

       Эта функция является расширением GNU.

СМ. ТАКЖЕ

       aio(7)

ПЕРЕВОД

       Русский    перевод    этой   страницы   руководства   был   сделан   Dmitry   Bolkhovskikh
       <d20052005@yandex.ru> и Yuri Kozlov <yuray@komyakino.ru>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.