summaryrefslogtreecommitdiffstats
path: root/src/Common/Backends/SystemBackendPosix.h
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2008-10-11 22:32:32 +0200
committerMatthias Schiffer <matthias@gamezock.de>2008-10-11 22:32:32 +0200
commitfa0a978ae129f0f04b9d336e9a3d71489fe519e8 (patch)
treed5415d61cbb81aeae7393b0dfbbe8ad6ca082c94 /src/Common/Backends/SystemBackendPosix.h
parent0ce519e355b3b2f271439aeac0064db11a06c77b (diff)
downloadmad-fa0a978ae129f0f04b9d336e9a3d71489fe519e8.tar
mad-fa0a978ae129f0f04b9d336e9a3d71489fe519e8.zip
Benutzte den FdManager f?r Ausgaben von Programmen im Posix-Backend
Diffstat (limited to 'src/Common/Backends/SystemBackendPosix.h')
-rw-r--r--src/Common/Backends/SystemBackendPosix.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Common/Backends/SystemBackendPosix.h b/src/Common/Backends/SystemBackendPosix.h
index b7f364a..59dd2d8 100644
--- a/src/Common/Backends/SystemBackendPosix.h
+++ b/src/Common/Backends/SystemBackendPosix.h
@@ -38,12 +38,17 @@ class SystemBackendPosix : public SystemBackend {
private:
static SystemBackendPosix backend;
static std::map<pid_t, sigc::slot<void, int> > processes;
- static std::map<pid_t, std::pair<sigc::slot<void, int, const std::string&>, int> > processesWithOutput;
+
+ static std::map<pid_t, sigc::slot<void, int, const std::string&> > processesWithOutput;
+ static std::map<pid_t, int> processesWOHandles;
+ static std::map<pid_t, std::string > processesWOOutput;
static void setChildHandler();
static void childHandler(int);
+ static void outputHandler(short events, pid_t pid);
+
static std::pair<char**, char**> makeArgs(const std::string &filename, const std::vector<std::string> &argv, const std::vector<std::string> &env);
static void destroyArgs(std::pair<char**, char**> args);