Como lidar com um cano quebrado (SIGPIPE) em python?

Eu escrevi um servidor de jogo multi-threaded simples em python que cria um novo segmento para cada conexão do cliente. Eu estou achando que de vez em quando, o servidor irá travar por causa de um erro de cano quebrado / SIGPIPE. Tenho certeza que está acontecendo quando o programa tenta enviar uma resposta de volta para um cliente que não está mais presente.

O que é uma boa maneira de lidar com isso? Minha resolução preferida seria simplesmente fechar a conexão do lado do servidor para o cliente e seguir em frente, em vez de sair do programa inteiro.

PS:este pergunta / resposta lida com o problema de maneira genérica; como especificamente devo resolvê-lo?

questionAnswers(5)

yourAnswerToTheQuestion