[so] Tema 4 epoll si inchideri

Catalin Iacob iacobcatalin at gmail.com
Tue Dec 19 22:02:40 EET 2006


Salut

Cand clientul meu se inchide se genereaza un eveniment EPOLLIN, nu ERR 
sau HUP.

Sunt sigur de asta fiindca dupa EPOLLIN fac un recv care intoarce 0 si 
conform man recv intoarce 0 doar cand s-a inchis conexiunea. Am incercat 
si sa inchid in client socket-ul cu close si sa il inchid abrupt 
terminand lasand clientul sa se termine pur si simplu fara sa faca close 
si sa folosesc shutdown cu fiecare din parametri: SHUT_RD, SHUT_WR, 
SHUT_RDWR.

La fiecare iesire din epoll_wait afisez events & EPOLLIN apoi events & 
EPOLLERR si events & EPOLLHUP unde events e campul events al structurii 
parametru 2 al epoll_wait. Tot timpul primul e 1 celelalte doua 0. 
Banuiesc ca testez bine daca s-a generat EPOLLERR sau EPOLLHUP.

Pot sa fac tema sa mearga si asa, ca vad ca s-a inchis conexiunea din 
faptul ca imi da recv 0 si scot socket-ul din monitorizare cu un 
epoll_ctl dar vreau totusi sa raman cu ideea corecta daca se genereaza 
EPOLLHUP sau ERR.




More information about the so mailing list