diff options
Diffstat (limited to 'lib/TaskMan.cc')
| -rw-r--r-- | lib/TaskMan.cc | 20 | 
1 files changed, 18 insertions, 2 deletions
| diff --git a/lib/TaskMan.cc b/lib/TaskMan.cc index 1af9234..bab9380 100644 --- a/lib/TaskMan.cc +++ b/lib/TaskMan.cc @@ -3,8 +3,12 @@  #include <vector.h>  #include "TaskMan.h" -vector<Task *> TaskMan::TaskList; -vector<Task *> TaskMan::Zombies; +TaskMan::TaskList_t TaskMan::TaskList; +TaskMan::TaskList_t TaskMan::Zombies; +vector<TaskMan::w4ha_t> TaskMan::w4ha; +vector<TaskMan::w4pr_t> TaskMan::w4pr; +vector<TaskMan::w4to_t> TaskMan::w4to; +  int TaskMan::number = 0;  bool TaskMan::inited = false; @@ -40,6 +44,18 @@ int TaskMan::AddTask(Task * t) {      return 0;  } +void TaskMan::WaitFor(Handle * h, Task * t, int flags) { +    w4ha.push_back(w4ha_t(h, flags, t)); +} + +void TaskMan::WaitFor(pid_t p, Task * t) { +    w4pr.push_back(w4pr_t(p, t)); +} + +void TaskMan::WaitFor(timeval t, Task * T, int flags) { +    w4to.push_back(w4to_t(t, flags, T)); +} +  void TaskMan::MainLoop() throw (GeneralException) {      TaskList_t::iterator p;      Task * t; | 
