I have been working with a simple server that sends a heartbeat packet every 30 seconds to a client who then acknowledges the heartbeat with a heartbeat reply packet. When I brutally terminate the server by sending it SIGKILL, SIGSEGV the client discovers this via select() and read() system calls readily enough. Then I started wondering what happens when you do that just before the client writes its heartbeat reply packet so I put a 20 second sleep into the client code and killed the server in the mean time but found that the client side write nevertheless succeeds. Trying a second write immediately afterwards triggered the expected SIGPIPE signal and write returned EPIPE. As far as I can tell this is normal behaviour, however, just out of curiosity I printed out the client-side tcp status. It turned out to be:I have been working with a simple server that s