aboutsummaryrefslogtreecommitdiff
path: root/lib/base/console.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-12-14 16:35:03 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-12-14 16:35:03 +0000
commitacf619a3c304992a7ec093cd95fdd6c0805cca66 (patch)
treeac1df2960cfcddb298c55ce3ed0c9802e06c5f19 /lib/base/console.cpp
parent94b67b79cf83ec356b05b31a51c3849ee8953e6a (diff)
downloadenigma2-acf619a3c304992a7ec093cd95fdd6c0805cca66.tar.gz
enigma2-acf619a3c304992a7ec093cd95fdd6c0805cca66.zip
not block so long
Diffstat (limited to 'lib/base/console.cpp')
-rw-r--r--lib/base/console.cpp5
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();