¿Cómo manejar un tubo roto (SIGPIPE) en python?

He escrito un servidor de juegos con múltiples subprocesos en Python que crea un nuevo hilo para cada conexión de cliente. Estoy encontrando que de vez en cuando, el servidor se bloqueará debido a un error de pipe-ruptura / SIGPIPE. Estoy bastante seguro de que está sucediendo cuando el programa intenta enviar una respuesta a un cliente que ya no está presente.

¿Cuál es una buena manera de lidiar con esto? Mi resolución preferida simplemente cerraría la conexión del lado del servidor al cliente y continuaría, en lugar de salir del programa completo.

PD:Esta la pregunta / respuesta trata el problema de una manera genérica; ¿Cómo específicamente debo resolverlo?

Respuestas a la pregunta(5)

Su respuesta a la pregunta