Escrevendo em um soquete TCP fechado pelo peer

Eu tenho um aplicativo cliente-servidor onde cada lado se comunica com o outro via soquete TCP.

Eu estabeleço a conexão corretamente e depois danifico o servidor ANTES de quaisquer dados serem gravados no soquete pelo cliente.
O que eu vejo é que o primeirowrite() tentativa (lado do cliente) é bem sucedida e retorna o número real de bytes escritos, enquanto os seguintes retornam (como eu esperava)-1 (recebendo umSIGPIPE) eerrno=EPIPE.

Por que o primeirowrite() é bem sucedido mesmo que a tomada já esteja fechada?

EDITAR Às vezes também o seguintewrite() tem um valor de retorno positivo, como se tudo desse certo.

questionAnswers(3)

yourAnswerToTheQuestion