summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--projekt_doku.asciidoc23
1 files 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