Under these conditions, the server is "lagging behind" trying to process requests (on a single CPU) taking longer than their inter-arrival time, when the connection is abruptly closed, it's normal that the server might be trying to reply to them and have a send() failing. However, at that point, we would close_and_forget() the client connection, thus subsequent requests should NOT keep trying to send anything, as there's no more a connection to send to.
Launching
then killing the client with Ctrl+C results in a flood of Broken pipe errors, as visible below.
Under these conditions, the server is "lagging behind" trying to process requests (on a single CPU) taking longer than their inter-arrival time, when the connection is abruptly closed, it's normal that the server might be trying to reply to them and have a send() failing. However, at that point, we would close_and_forget() the client connection, thus subsequent requests should NOT keep trying to send anything, as there's no more a connection to send to.