Hi Jonathan, On 2012-05-22, at 3:47 PM, Jonathan Neuschäfer wrote:
> On Tue, May 22, 2012 at 03:32:35PM -0400, Kevyn-Alexandre Paré wrote: >> 1) Can I assume that if the recv return zero mean that the client have been >> disconnected? > > Yes, that's what the manpage states: > "The return value will be 0 when the peer has performed an orderly shutdown." > thx for confirming, my previous quick look at the help made me doubt because of the "orderly shutdown"…. Further reading help me to clarify my lack of comprehension ;) Mac OS X 10.7 man recv is even more detail about that behaviour: "For TCP sockets, the return value 0 means the peer has closed its half side of the connection." reference: https://developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man2/recv.2.html Again, not read enough for the SIGPIPE: EPIPE "The socket is shut down for writing or the socket is connection-mode and is no longer connected. In the latter case, and if the socket is of type SOCK_STREAM, the SIGPIPE signal is generated to the calling thread." An simple send after a read with zero bytes return a EPIPE and generate a SIGPIPE. thx - KA > Thanks, > Jonathan Neuschäfer _______________________________________________ libev mailing list [email protected] http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
