Где находитятся функции aio_read, aio_write, и т.д. Заголовочник я подключил(aio.h), но компоновщик ругается :undefined reference to `aio_write'. В какой библиотеке находятся реализации этих функций ?
Странно, что мануал по этим функциям в Linux ничего не говорит о библиотеке. В FreeBSD aio_read(2) имеет секцию LIBRARY. Кстати, там aio_read() и aio_write() находятся в libc.
Большое спасибо! Тогда встаёт новый вопрос, где написанно, что они там находятся ? То есть мне понадобилась какая нибудь функция из glibc (я так понимаю что librt относиться к glibc ?) как узнать в какой библиотеке она находиться ? В man этого нет.
> Не я имел в виду доку какую нибудь. А то так искать функцию по библиотекам, мало ли что в будущем изменят.
Всё описанно в info руководствах. (libc, Low-Level IO, про асинхронные и синхронные операции). Так, на будущее - детальные руководства по чему-бы-там-ни-было в info. Справочники по отдельным командам и функциям - в man-ах..
В качестве художественного отступления : AIO видимо кандидад №1 для переделки. Сейчас он по большей части в userspace крутится на тредах, причем код далёк от какого-либо идеала. После перехода на NPTL и с новой системой таймеров, очевидный шаг - поддержка AIO ядром, для нормального планирования ввода/вывода. При удаче - СУБД`ы станут просто реактивными :) А пока выигрыша по производительности от AIO нету не фига...