[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