X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FScheduler%2FFIFORunner.cc;h=94009c32e9de87e06f90bfa1ae9c780e3323ba04;hb=78a6e233083efa63a9cd0684a92abc64202a9ee7;hp=783a98d9b95957a5d3d1148223997892479a868e;hpb=79a8a7f0632a27331df5814bec6c8c53470eb8ce;p=senf.git diff --git a/senf/Scheduler/FIFORunner.cc b/senf/Scheduler/FIFORunner.cc index 783a98d..94009c3 100644 --- a/senf/Scheduler/FIFORunner.cc +++ b/senf/Scheduler/FIFORunner.cc @@ -29,6 +29,7 @@ // Custom includes #include #include +#include #include #include #ifdef SENF_DEBUG @@ -112,7 +113,7 @@ prefix_ void senf::scheduler::detail::FIFORunner::stopWatchdog() // At the moment, the FIFORunner is not very efficient with many non-runnable tasks since the // complete list of tasks is traversed on each run(). // -// To optimize this, we woould need a way to find the relative ordering of two tasks in O(1) (at the +// To optimize this, we would need a way to find the relative ordering of two tasks in O(1) (at the // moment, this is an O(N) operation by traversing the list). // // One idea is, to give each task an 'order' value. Whenever a task is added at the end, it's order @@ -215,11 +216,11 @@ prefix_ void senf::scheduler::detail::FIFORunner::run(TaskList::iterator f, Task ++ next_; } watchdogCount_ = 0; - next_ = 0; + next_ = l; } catch (...) { watchdogCount_ = 0; - next_ = 0; + next_ = l; throw; } }