[erlang-questions] EPIPE and TCP sockets

Tony Garnock-Jones <>
Mon Oct 15 12:03:42 CEST 2007


Per Hedeland wrote:
> Hm, I don't think that's correct - AFAIK SIGPIPE/EPIPE happens only if
> you try to write more data to a socket when the other end is considered
> to be closed (either due to receiving FIN or RST, or due to
> retransmission timeout).
> 
> Closing the socket with unack'ed data normally doesn't do anything in
> particular, the close() returns immediately but the kernel holds on to
> the data and tries to (re)transmit it according to the standard TCP
> logic, and you won't be told if it fails.

Thanks, Per. That's useful. It tells me that TCP itself can do what I
want, but the sockets interface isn't set up for it. I'll do something
different at the application level.

Regards,
  Tony
-- 
 [][][] Tony Garnock-Jones     | Mob: +44 (0)7905 974 211
   [][] LShift Ltd             | Tel: +44 (0)20 7729 7060
 []  [] http://www.lshift.net/ | Email: 



More information about the erlang-questions mailing list