From 440067e50882d8e8e14932a6bbe08121ef7b54dc Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 15 Jan 2013 16:27:24 +0100 Subject: doc: Start description of Connection abort --- projekt_doku.asciidoc | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/projekt_doku.asciidoc b/projekt_doku.asciidoc index f6f0340..afb9d70 100644 --- a/projekt_doku.asciidoc +++ b/projekt_doku.asciidoc @@ -76,12 +76,25 @@ main(int argc, char *argv[]) } ---- - == Verbindungsabbruch -Schlägt die Verbindung fehl, so wird in der Bibliothek DirectFB dies nicht an -die Anwendung signalisiert. -Intern wird der Rückgabewert von +send(2)+ nicht auf einen Verbindungsabbruch -geprüft. +Bricht die Verbindung ab -- z.B. durch Ausschalten des Fernsehers oder durch +Auswählen einer anderen Quelle -- wird dies durch die DirectFB Bibliothek +nicht an die Anwendung signalisiert. + +Im produktiven Einsatz ist es bei Remote-Steuerung deshalb nicht zu erkennen, ob die Verbidnung +besteht. Im weiteren ist auch keine automatisierte Neuverbingung unmöglich. + +//die Anwendung signalisiert. +//Intern wird der Rückgabewert von +send(2)+ nicht auf einen Verbindungsabbruch +//geprüft. + +*Lösung:* + +Die Bibiliothek DirectFB wurde erweitert, das SIGPIPE signal vom Kernel zu +empfangen. Pluggit installiert für DirectFB eine Signal Behandlungsroutine +und bricht die Programmausführung ab. +Ein Shell scripts das pluggit überwacht erkennt dies am Rückgabe-Status des +Pluggit-Prozesses und startet diesen neu. == Test -- cgit