9
votes

Comment utilisez-vous AIO et EPOLL ensemble dans une seule boucle d'événement?

Comment combiner AIO et EPOLL ensemble dans une seule boucle d'événement?

Google trouve beaucoup de discussions à partir de 2002 et 2003 sur les unifier, mais ce n'est pas clair si quelque chose s'est passé, ou si c'est possible.

Quelqu'un a-t-il roulé-leur-propre avec une boucle Epoll à l'aide d'Eventfd pour le signal AIO?


2 commentaires

Réaliser ceci est une très vieille question, mais vous pouvez utiliser «SignalFD» pour le signal de l'AIO


Vous parlez-vous à POSIX AIO ou Linux AIO? Ce dernier permet d'enregistrer un événement pour les notifications d'achèvement. Et cet événement pour laquelle vous pourriez ajouter à votre ensemble Epoll FD.


4 Réponses :


5
votes

Essayez libtevent:

http://www.monkey.org/~provos/libevent/ < / p>

Il y a des correctifs pour supporter les deux.


1 commentaires

Le nouveau Libeevent 2.0 est basé sur la fin: google-opensource.blogspot.com/2010/01/... - espérons que AIO se présente comme un backend afin que vous puissiez mélanger les fichiers et les descriptitions de réseau



1
votes

a essayé evenfd avec Epoll?

"Un point clé d'un descripteur de fichier eventfd est qu'il peut être surveillé juste Comme tout autre descripteur de fichier à l'aide de SELECT (2), du sondage (2) ou de l'époll (7). "


0 commentaires

3
votes

Vous pouvez voir http://www.xmailailver.org/eventfd-aio- test.c pour un échantillon d'AIO et Eventfd


1 commentaires

Fait intéressant, selon oxnz.github.io/2016/10/13/Linux -AIO maintenant il y a #include il n'y a donc pas besoin de recourir à __ nr_io_setup



0
votes

FreeBSD prend en charge l'AIO avec KQQUEUE, l'aio achèvement peut être surveillé par l'interface KQQUUE.


0 commentaires