Wie behandelt man eine defekte Pipe (SIGPIPE) in Python?

Ich geschrieben habe, eine einfache multi-threaded-Spiel-server in python, erstellt einen neuen thread für jede client-Verbindung. Ich finde, dass jeder jetzt und dann, die server zum Absturz bringen, da ein broken-pipe/SIGPIPE Fehler. Ich bin mir ziemlich sicher, dass es passiert, wenn das Programm versucht zu senden eine Antwort zurück an client, dass ist nicht mehr vorhanden.

Was ist ein guter Weg, um damit umzugehen? Meine bevorzugte Lösung wäre, einfach schließen Sie das server-side-Verbindung zum client und bewegen, eher als beenden Sie das gesamte Programm.

PS: Diese Frage/Antwort beschäftigt sich mit dem problem in einer Allgemeinen Weise; wie konkret soll ich es lösen?

InformationsquelleAutor der Frage Adam Plumb | 2008-10-07

Schreibe einen Kommentar