summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2013-01-15 16:27:24 +0100
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2013-01-15 16:27:24 +0100
commit440067e50882d8e8e14932a6bbe08121ef7b54dc (patch)
tree408620038d43baadbfd4aecb8fba43a6fa50a057
parent705cc26b1e67da9e7e6e9a2d41f09beb01793645 (diff)
downloadmmswe-440067e50882d8e8e14932a6bbe08121ef7b54dc.tar.gz
mmswe-440067e50882d8e8e14932a6bbe08121ef7b54dc.tar.bz2
mmswe-440067e50882d8e8e14932a6bbe08121ef7b54dc.zip
doc: Start description of Connection abort
-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