fix std::remove_if
This commit is contained in:
parent
b9e517106f
commit
0244e79763
1 changed files with 10 additions and 8 deletions
|
@ -1554,8 +1554,12 @@ private:
|
||||||
auto rm_func = [id_task](const server_task & task) {
|
auto rm_func = [id_task](const server_task & task) {
|
||||||
return task.id_target == id_task;
|
return task.id_target == id_task;
|
||||||
};
|
};
|
||||||
std::remove_if(queue_tasks.begin(), queue_tasks.end(), rm_func);
|
queue_tasks.erase(
|
||||||
std::remove_if(queue_tasks_deferred.begin(), queue_tasks_deferred.end(), rm_func);
|
std::remove_if(queue_tasks.begin(), queue_tasks.end(), rm_func),
|
||||||
|
queue_tasks.end());
|
||||||
|
queue_tasks_deferred.erase(
|
||||||
|
std::remove_if(queue_tasks_deferred.begin(), queue_tasks_deferred.end(), rm_func),
|
||||||
|
queue_tasks_deferred.end());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1593,13 +1597,11 @@ struct server_response {
|
||||||
std::unique_lock<std::mutex> lock(mutex_results);
|
std::unique_lock<std::mutex> lock(mutex_results);
|
||||||
waiting_task_ids.erase(id_task);
|
waiting_task_ids.erase(id_task);
|
||||||
// make sure to clean up all pending results
|
// make sure to clean up all pending results
|
||||||
std::remove_if(
|
queue_results.erase(
|
||||||
queue_results.begin(),
|
std::remove_if(queue_results.begin(), queue_results.end(), [id_task](const server_task_result_ptr & res) {
|
||||||
queue_results.end(),
|
|
||||||
[id_task](const server_task_result_ptr & res) {
|
|
||||||
return res->id == id_task;
|
return res->id == id_task;
|
||||||
}
|
}),
|
||||||
);
|
queue_results.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
void remove_waiting_task_ids(const std::unordered_set<int> & id_tasks) {
|
void remove_waiting_task_ids(const std::unordered_set<int> & id_tasks) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue