On Tue, 28 Jan 2014, Jonathan Masters wrote:
- Calls ssize_t result = send(fd,0,0,0), if result == -1, assume disconnected, if so send a message and remove the connection from the cache.
That's not very portable. As the man page for send(2) says on my Linux: "No indication of failure to deliver is implicit in a send().".
... and then I don't even think there's a guarantee that sending 0 bytes would even do the check you want.
I would rather suggest you instead check if the socket is readable, as closed sockets become readable. That's also why we do it that way in libcurl already (lib/url.c:SocketIsDead).
-- / daniel.haxx.se ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
