X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FFIFORunner.cci;h=fb080591efbf8bedb207a18e104cd19bc24c336c;hb=83691b0a08bffc5dc9cdc20ee909d403d044dc1c;hp=1061f4dc8599aa0171d65c5e7d98468ca2edcdec;hpb=40fa3e3f1e0f639c68bd15bf469e35045f94abee;p=senf.git diff --git a/Scheduler/FIFORunner.cci b/Scheduler/FIFORunner.cci index 1061f4d..fb08059 100644 --- a/Scheduler/FIFORunner.cci +++ b/Scheduler/FIFORunner.cci @@ -34,24 +34,52 @@ #define prefix_ inline ///////////////////////////////cci.p/////////////////////////////////////// -prefix_ senf::scheduler::FIFORunner::TaskInfo::TaskInfo() - : runnable (false) +prefix_ senf::scheduler::detail::FIFORunner::TaskInfo::TaskInfo(std::string const & name) + : Event(name), runnable_ (false) {} -prefix_ senf::scheduler::FIFORunner::TaskInfo::~TaskInfo() +prefix_ senf::scheduler::detail::FIFORunner::TaskInfo::~TaskInfo() {} -prefix_ void senf::scheduler::FIFORunner::enqueue(TaskInfo * task) +prefix_ void senf::scheduler::detail::FIFORunner::TaskInfo::setRunnable() +{ + runnable_ = true; +} + +prefix_ void senf::scheduler::detail::FIFORunner::TaskInfo::run() +{ + v_run(); + countRun(); +} + +prefix_ bool senf::scheduler::detail::FIFORunner::TaskInfo::v_enabled() + const +{ + return TaskListBase::linked(); +} + +prefix_ void senf::scheduler::detail::FIFORunner::enqueue(TaskInfo * task) { tasks_.push_back(*task); #ifdef SENF_DEBUG std::stringstream ss; backtrace(ss, 32); - task->backtrace = ss.str(); + task->backtrace_ = ss.str(); #endif } -prefix_ unsigned senf::scheduler::FIFORunner::hangCount() +prefix_ void senf::scheduler::detail::FIFORunner::taskTimeout(unsigned ms) +{ + watchdogMs_ = ms; +} + +prefix_ unsigned senf::scheduler::detail::FIFORunner::taskTimeout() + const +{ + return watchdogMs_; +} + +prefix_ unsigned senf::scheduler::detail::FIFORunner::hangCount() const { return hangCount_;