Provided by: manpages-ru-dev_4.21.0-2_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
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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

Linux man-pages 6.03                           30 октября 2022 г.                                    aio_init(3)