[so] [Tema 5] Neclaritate epoll, sendfile, sockets non-block

Adrian Sendroiu molecula2788 at gmail.com
Wed May 21 18:33:29 EEST 2014


2014-05-21 17:25 GMT+03:00 Paul Florin <paul.urziceanu at gmail.com>:
> Daca socket-ul e nonblocant, cat scriu pe el? Nu este limita
> send_buffer-ului asociat socket-ului?

Ba da, dar nu te interesează în mod direct. Practic vei scrie până
când send îți întoarce -1 și errno EAGAIN sau EWOULDBLOCK.
Vezi și în lab11 [1] (bănuiesc că folosești level triggered).

> Nu e un singur eventfd pentru toate? Asa scrie in enunt. Adica eventfd e
> doar pentru a ma notifica ca o operatie AIO este gata. Si o voi lua cu
> io_getevents nu?

În enunț scrie câte un eventfd per conexiune, cred că așa e cel mai
ușor. În rest e cum zici tu, folosești eventfd + epoll ca să afli când
s-a terminat operația, după care folosești io_getevents.

> Ca sa clarific 100%, AIO cu io_submit & friends le folosesc doar pentru a
> citi asincron chunk-uri din fisierele "dinamice" corect?

Corect

[1] http://ocw.cs.pub.ro/courses/so/laboratoare/laborator-11#edge-triggered_sau_level-triggered


More information about the so mailing list