//#include "FIFORunner.ih"
// Custom includes
+#ifdef SENF_DEBUG
+#include <sstream>
+#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///////////////////////////////////////