diff options
Diffstat (limited to 'projekt_doku.asciidoc')
-rw-r--r-- | projekt_doku.asciidoc | 23 |
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 |