[so] [tema 5] Little help

Adrian Sendroiu molecula2788 at gmail.com
Mon May 19 22:49:16 EEST 2014


Andrei Erghelegiu <andrei.erghelegiu at gmail.com> writes:

> Salut,
>
> In sectiunea "Precizari pentru Linux" se spune ca se va folosi epoll
> pentru asteptarea notificarii pentru incheierea operatiilor aio, iar
> un pic mai jos se spune ca pentru incheierea operatiilor asincrone se
> va folosi io_getevents(). Presupunem ca am cate un eventfd pentru
> fiecare conexiune. Daca eu inregistrez unei operatii de citire
> asincrone evenimentul eventfd si astept cu epoll_wait() inclusiv pe
> acest eveniment, de ce mai este nevoie de io_getevents? Nu stiu deja
> ca s-a terminat un eveniment aio pentru ca mi s-a deblocat
> epoll_wait() si notificarea este pe eventfd?
>
> Multumesc

epoll + eventfd te ajută doar ca să știi că operația IO s-a terminat. Ca
să închei efectiv operația și să obții informații despre ea trebuie să
folosești io_getevents.

E oarecum analog cu epoll + sockeți de exemplu. Cu epoll afli că ai
primit date pe socket, dar ca să le citești trebuie să folosești read.

Adrian


More information about the so mailing list