Commit f304e139 by Marcus Winter

dataflow_cpp: fixed bug in mtapi_scheduler

parent da773e45
...@@ -82,6 +82,8 @@ class SchedulerMTAPI : public Scheduler { ...@@ -82,6 +82,8 @@ class SchedulerMTAPI : public Scheduler {
for (int ii = 0; ii < queue_count_; ii++) { for (int ii = 0; ii < queue_count_; ii++) {
queue_[ii].Delete(); queue_[ii].Delete();
} }
// delete action as well
action_.Delete();
} }
embb::base::Allocation::Free(group_); embb::base::Allocation::Free(group_);
embb::base::Allocation::Free(queue_); embb::base::Allocation::Free(queue_);
...@@ -97,6 +99,9 @@ class SchedulerMTAPI : public Scheduler { ...@@ -97,6 +99,9 @@ class SchedulerMTAPI : public Scheduler {
} }
virtual void WaitForSlice(int slice) { virtual void WaitForSlice(int slice) {
group_[slice].WaitAll(MTAPI_INFINITE); group_[slice].WaitAll(MTAPI_INFINITE);
// group is invalid now, recreate
embb::mtapi::Node & node = embb::mtapi::Node::GetInstance();
group_[slice] = node.CreateGroup();
} }
private: private:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment