aboutsummaryrefslogtreecommitdiff
path: root/lib/base
diff options
context:
space:
mode:
authorAndreas Frisch <andreas.frisch@multimedia-labs.de>2008-10-19 20:20:41 +0000
committerAndreas Frisch <andreas.frisch@multimedia-labs.de>2008-10-19 20:20:41 +0000
commit619269fff24049b1adc7e06f4f3dc89f2880a2cd (patch)
tree8a09922965e56c34bd66c0c579a9595a9e985b55 /lib/base
parent69933717a48409574f6bcd0611f07b9f86611179 (diff)
downloadenigma2-619269fff24049b1adc7e06f4f3dc89f2880a2cd.tar.gz
enigma2-619269fff24049b1adc7e06f4f3dc89f2880a2cd.zip
add command to manually close input pipe (send CTRL-D / EOF)
Diffstat (limited to 'lib/base')
-rw-r--r--lib/base/console.cpp11
-rw-r--r--lib/base/console.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/base/console.cpp b/lib/base/console.cpp
index 6dc21d2e..3dfcbae8 100644
--- a/lib/base/console.cpp
+++ b/lib/base/console.cpp
@@ -268,6 +268,17 @@ void eConsoleAppContainer::sendCtrlC()
}
}
+void eConsoleAppContainer::sendEOF()
+{
+ if (out)
+ out->stop();
+ if (fd[1] != -1)
+ {
+ ::close(fd[1]);
+ fd[1]=-1;
+ }
+}
+
void eConsoleAppContainer::closePipes()
{
if (in)
diff --git a/lib/base/console.h b/lib/base/console.h
index f7cd469c..e6c61766 100644
--- a/lib/base/console.h
+++ b/lib/base/console.h
@@ -45,6 +45,7 @@ public:
int getPID() { return pid; }
void kill();
void sendCtrlC();
+ void sendEOF();
void write( const char *data, int len );
void write( PyObject *data );
void readFromFile( PyObject *py_filename );