Hi!
Napisal sem si en programcek ki dela nekaj z socketi.. Naenkrat uporablja
vec socketov in za vsak set socketov uporabljam drugi thread..
recimo za sprejemanje novih connectionov mi skrbi newcon_th().. ko
se zgodi da postane kak fd neveljaven (da client hangupa) je potrebno
connection dropat.. to pa se ponavadi zgodi v drugem threadu..
in kje je problem?? ko poklicem close(s->fd) mi clienta ne odvrze..
v netstatu ostanejo odprte povezave.. ce v telnetu sendas EOF (^D)
in bash exita, ostane telnet odprt se do neskoncnosti.. zmrzne.. the
only solution: ESCchar (^]).. zakaj mi ne prekine?
obstaja mogoce kaka secret setsockopt opcija za to?
compilam z gcc -D_REENTRANT <sources&objects> -lpthread.. je to ok?
fd je pravilen, in tudi close je sigurno poklican.. in ce takoj za tem
se enkrat poklicem close, mi javi da je fd ze closean...
sourceja v tem trenutku se ne dam ven.. bo pa publishan ko bom
rabil beta test crew..
tnx
Mitja