| 104 | } |
| 105 | |
| 106 | void TaskQueue::cancel(Valdi::task_id_t taskId) { |
| 107 | { |
| 108 | DispatchFunction toDelete; |
| 109 | std::lock_guard<Mutex> lockGuard(_mutex); |
| 110 | toDelete = lockFreeRemoveTask(taskId); |
| 111 | } |
| 112 | |
| 113 | _condition.notifyAll(); |
| 114 | } |
| 115 | |
| 116 | DispatchFunction TaskQueue::lockFreeRemoveTask(task_id_t taskId) { |
| 117 | for (auto i = _tasks.begin(); i != _tasks.end(); ++i) { |