It is known fact that when one side of the connection crashes, it is not possible to detect that connection is lost. You have to set a keepalive on both ends on TCP level or on application protocol level.
References:
But if the peers are on the same Linux machine and one of them segfaults, will the other one detect this situation just by receiving an error on the next read call?
All descriptors are closed, right? Shouldn't that close the connection correctly? (if something fails in networking, it is kernel fault and everyone is doomed anyways)
I'm trying to get this nice feature of the FIFOs: when you close one end, the other end receives an error/signal.
send()
will detect it, eventually. Both the sources you cite say so. – user207421