summaryrefslogtreecommitdiff
path: root/include/TaskMan.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/TaskMan.h')
-rw-r--r--include/TaskMan.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/include/TaskMan.h b/include/TaskMan.h
index 8cd8e66..e61aa3f 100644
--- a/include/TaskMan.h
+++ b/include/TaskMan.h
@@ -2,9 +2,16 @@
#define __TASKMAN_H__
#ifdef __cplusplus
+#include <signal.h>
#include <Task.h>
#include <vector.h>
+#define E_BURST 0
+#define E_HANDLE 1
+#define E_PROCESS 2
+#define E_TIMEOUT 3
+#define E_TASK 4
+
class TaskMan : public Base {
public:
static void AddTask(Task *);
@@ -13,10 +20,15 @@ class TaskMan : public Base {
static void Init() throw (GeneralException);
static void MainLoop() throw (GeneralException);
static void WaitFor(Handle *, Task *, int = 0);
- static void WaitFor(pid_t, Task *);
+ static void WaitFor(pid_t, Task *, int = 0);
static void WaitFor(timeval, Task *, int = 0);
static int GotChild(pid_t, int);
static void Stop();
+ static int Event();
+ static Task * Etask();
+ static Handle * Ehandle();
+ static int Eprocess();
+ static int Estatus();
class w4ha_t {
public:
@@ -53,6 +65,11 @@ class TaskMan : public Base {
static vector<w4pr_t> w4pr;
static vector<w4to_t> w4to;
static bool stopped;
+ static int event;
+ static Task * etask;
+ static Handle * ehandle;
+ static int eprocess, estatus;
+ static sigset_t sigchildset;
};
#else