X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FFIFORunner.cci;h=0ddc8899908be3a1eaaf70c6b68d9ae6f6270006;hb=5443435c4c2b6e4386c5334b5b8358273f2bae93;hp=b2f6fe61e70d3c0918953e2599962ee282effa54;hpb=c7ddbbb0bc014bdfe6daef91e2d1c512d77e9fff;p=senf.git diff --git a/Scheduler/FIFORunner.cci b/Scheduler/FIFORunner.cci index b2f6fe6..0ddc889 100644 --- a/Scheduler/FIFORunner.cci +++ b/Scheduler/FIFORunner.cci @@ -113,6 +113,8 @@ prefix_ void senf::scheduler::detail::FIFORunner::enqueue(TaskInfo * task) prefix_ void senf::scheduler::detail::FIFORunner::taskTimeout(unsigned ms) { watchdogMs_ = ms; + if (watchdogRunning_) + startWatchdog(); } prefix_ unsigned senf::scheduler::detail::FIFORunner::taskTimeout() @@ -121,10 +123,22 @@ prefix_ unsigned senf::scheduler::detail::FIFORunner::taskTimeout() return watchdogMs_; } -prefix_ unsigned senf::scheduler::detail::FIFORunner::hangCount() +prefix_ void senf::scheduler::detail::FIFORunner::abortOnTimeout(bool flag) +{ + watchdogAbort_ = flag; +} + +prefix_ bool senf::scheduler::detail::FIFORunner::abortOnTimeout() const { - return hangCount_; + return watchdogAbort_; +} + +prefix_ unsigned senf::scheduler::detail::FIFORunner::hangCount() +{ + unsigned hc (hangCount_); + hangCount_ = 0; + return hc; } prefix_ senf::scheduler::detail::FIFORunner::iterator @@ -144,6 +158,11 @@ prefix_ senf::scheduler::detail::FIFORunner::iterator senf::scheduler::detail::F EventManager::IteratorFilter(), tasks_.end(), tasks_.end()); } +prefix_ void senf::scheduler::detail::FIFORunner::yield() +{ + yield_ = true; +} + ///////////////////////////////cci.e/////////////////////////////////////// #undef prefix_