2009-12-01 4 views
8

Jak połączyć AIO i epoll w jednej pętli zdarzeń?W jaki sposób korzystasz z AIO i epolu w jednej pętli zdarzeń?

Google znajduje wiele rozmów z 2002 i 2003 roku na temat ich ujednolicenia, ale nie wiadomo, czy coś się stało, czy jest to możliwe.

Czy ktoś zwinął swoje własne z pętlą epoll, używając eventfd dla sygnału AIO?

+0

Uświadom sobie to bardzo stare pytanie, ale możesz użyć "signalfd" dla sygnału z Aio –

Odpowiedz

5

try libevent:

http://www.monkey.org/~provos/libevent/

istnieją łaty wspierać oba.

+0

Nowa wersja biblioteki libeevent 2.0 jest oparta na zakończeniu: http://google-opensource.blogspot.com/2010/01/libevent -20x-like-libevent-14x-only.html - mam nadzieję, że AIO pojawi się jako backend, dzięki czemu możesz mieszać deskryptory plików i sieci – Will

0

Próbowałem eventfd z epoką?

„Kluczowym punktem o deskryptorze pliku eventfd jest to, że może on być monitorowane tylko jak każdy inny deskryptor pliku za pomocą select (2), badanie (2), lub epoll (7).”

0

FreeBSD obsługuje AIO wraz z KQUEUE, zakończenie AIO może być monitorowany przez interfejs KQUEUE.