X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FFIFORunner.cci;h=209bd99c0fb80f851ebf3e4da76b2b4814ce4ba2;hb=6159637c51fd562b2bf68a026a3946b2c84f4e0d;hp=5247d5d850e20bbe971c6676cf4cf2eb813bf8a1;hpb=919e588a2c387c9a910aa8761e65155a0d205bba;p=senf.git diff --git a/Scheduler/FIFORunner.cci b/Scheduler/FIFORunner.cci index 5247d5d..209bd99 100644 --- a/Scheduler/FIFORunner.cci +++ b/Scheduler/FIFORunner.cci @@ -26,24 +26,51 @@ //#include "FIFORunner.ih" // Custom includes +#ifdef SENF_DEBUG +#include +#include "../Utils/Backtrace.hh" +#endif #define prefix_ inline ///////////////////////////////cci.p/////////////////////////////////////// -prefix_ senf::scheduler::FIFORunner::TaskInfo::TaskInfo() - : runnable (false) +prefix_ senf::scheduler::FIFORunner::TaskInfo::TaskInfo(std::string const & name) + : runnable_ (false), name_ (name) {} prefix_ senf::scheduler::FIFORunner::TaskInfo::~TaskInfo() {} -prefix_ senf::scheduler::FIFORunner::FIFORunner() - : tasks_ (), next_ (tasks_.end()) -{} +prefix_ void senf::scheduler::FIFORunner::TaskInfo::setRunnable() +{ + runnable_ = true; +} prefix_ void senf::scheduler::FIFORunner::enqueue(TaskInfo * task) { tasks_.push_back(*task); +#ifdef SENF_DEBUG + std::stringstream ss; + backtrace(ss, 32); + task->backtrace_ = ss.str(); +#endif +} + +prefix_ void senf::scheduler::FIFORunner::taskTimeout(unsigned ms) +{ + watchdogMs_ = ms; +} + +prefix_ unsigned senf::scheduler::FIFORunner::taskTimeout() + const +{ + return watchdogMs_; +} + +prefix_ unsigned senf::scheduler::FIFORunner::hangCount() + const +{ + return hangCount_; } ///////////////////////////////cci.e///////////////////////////////////////