Информация об изменениях

Сообщение Re[4]: Асинхронный файловый ввод-вывод от 16.06.2016 22:39

Изменено 16.06.2016 22:41 placement_new

Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, placement_new, Вы писали:


Pzz>>>В третьих, у нативного AIO интерфейс такой, что, на первый взгляд, его невозможно совместить в одном потоке с poll/select/eventfd. Потому что один поток может ждать либо io_getevents(), либо poll(), но не одновременно. Но если некоторое время подумать головой, и потом встать на уши, то совместить удается. Если кому интересно, могу отдельным письмом рассказать, как это сделать.


_>>Это не правда — он совмещается с epoll совершенно нормально.


Pzz>И как же?


Через io_set_eventfd
Re[4]: Асинхронный файловый ввод-вывод
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, placement_new, Вы писали:


Pzz>>>В третьих, у нативного AIO интерфейс такой, что, на первый взгляд, его невозможно совместить в одном потоке с poll/select/eventfd. Потому что один поток может ждать либо io_getevents(), либо poll(), но не одновременно. Но если некоторое время подумать головой, и потом встать на уши, то совместить удается. Если кому интересно, могу отдельным письмом рассказать, как это сделать.


_>>Это не правда — он совмещается с epoll совершенно нормально.


Pzz>И как же?


Через io_set_eventfd
https://git.fedorahosted.org/cgit/libaio.git/tree/src/libaio.h