diff options
author | Pixel <Pixel> | 2001-11-23 12:48:19 +0000 |
---|---|---|
committer | Pixel <Pixel> | 2001-11-23 12:48:19 +0000 |
commit | 8b6b771ca421f4f08f58debbf5459b020cf1bef7 (patch) | |
tree | b6b07ab038e1cde0d9067f44e728c2c21dd79f1c /include/TaskMan.h | |
parent | 1311938cc52369b8631c29f83a9ecdf4a5f12f19 (diff) |
Working on taskman...
Diffstat (limited to 'include/TaskMan.h')
-rw-r--r-- | include/TaskMan.h | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/include/TaskMan.h b/include/TaskMan.h index e1c59d0..e649956 100644 --- a/include/TaskMan.h +++ b/include/TaskMan.h @@ -10,13 +10,42 @@ class TaskMan : public Base { static int AddTask(Task *); 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(timeval, Task *, int = 0); - private: + class w4ha_t { + public: + w4ha_t(Handle * aha, int aflags, Task * aT) : ha(aha), flags(aflags), T(aT) { } + Handle * ha; + int flags; + Task * T; + }; + + class w4pr_t { + public: + w4pr_t(pid_t apr, Task * aT) : pr(apr), T(aT) { } + pid_t pr; + Task * T; + }; + + class w4to_t { + public: + w4to_t(timeval ato, int aflags, Task * aT) : to(ato), flags(aflags), T(aT) { } + timeval to; + int flags; + Task * T; + }; typedef vector<Task *> TaskList_t; + + private: static TaskList_t TaskList; static TaskList_t Zombies; static int number; static bool inited; + static vector<w4ha_t> w4ha; + static vector<w4pr_t> w4pr; + static vector<w4to_t> w4to; }; #else |