diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-12-14 16:35:03 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-12-14 16:35:03 +0000 |
| commit | acf619a3c304992a7ec093cd95fdd6c0805cca66 (patch) | |
| tree | ac1df2960cfcddb298c55ce3ed0c9802e06c5f19 /lib/base/console.cpp | |
| parent | 94b67b79cf83ec356b05b31a51c3849ee8953e6a (diff) | |
| download | enigma2-acf619a3c304992a7ec093cd95fdd6c0805cca66.tar.gz enigma2-acf619a3c304992a7ec093cd95fdd6c0805cca66.zip | |
not block so long
Diffstat (limited to 'lib/base/console.cpp')
| -rw-r--r-- | lib/base/console.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/base/console.cpp b/lib/base/console.cpp index 75c6162f..3f73fba1 100644 --- a/lib/base/console.cpp +++ b/lib/base/console.cpp @@ -281,6 +281,7 @@ void eConsoleAppContainer::closePipes() void eConsoleAppContainer::readyRead(int what) { + bool hungup = what & eSocketNotifier::Hungup; if (what & (eSocketNotifier::Priority|eSocketNotifier::Read)) { // eDebug("what = %d"); @@ -292,9 +293,11 @@ void eConsoleAppContainer::readyRead(int what) eDebug("%d = %c (%02x)", i, buf[i], buf[i] );*/ buf[rd]=0; /*emit*/ dataAvail(buf); + if (!hungup) + break; } } - if (what & eSocketNotifier::Hungup) + if (hungup) { eDebug("child has terminated"); closePipes(); |
