| AIO_INIT(3) | Руководство программиста Linux | AIO_INIT(3) | 
aio_init - инициализирует асинхронный ввод-вывод
#define _GNU_SOURCE /* см. feature_test_macros(7) */ #include <aio.h>
void aio_init(const struct aioinit *init);
Компонуется при указании параметра -lrt.
Имеющаяся только в 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_init() доступна в glibc начиная с версии 2.1.
Эта функция является расширением GNU.
| 2017-09-15 | Linux |