File tree Expand file tree Collapse file tree 1 file changed +10
-8
lines changed Expand file tree Collapse file tree 1 file changed +10
-8
lines changed Original file line number Diff line number Diff line change @@ -1554,8 +1554,12 @@ struct server_queue {
15541554 auto rm_func = [id_task](const server_task & task) {
15551555 return task.id_target == id_task;
15561556 };
1557- std::remove_if (queue_tasks.begin (), queue_tasks.end (), rm_func);
1558- std::remove_if (queue_tasks_deferred.begin (), queue_tasks_deferred.end (), rm_func);
1557+ queue_tasks.erase (
1558+ std::remove_if (queue_tasks.begin (), queue_tasks.end (), rm_func),
1559+ queue_tasks.end ());
1560+ queue_tasks_deferred.erase (
1561+ std::remove_if (queue_tasks_deferred.begin (), queue_tasks_deferred.end (), rm_func),
1562+ queue_tasks_deferred.end ());
15591563 }
15601564};
15611565
@@ -1593,13 +1597,11 @@ struct server_response {
15931597 std::unique_lock<std::mutex> lock (mutex_results);
15941598 waiting_task_ids.erase (id_task);
15951599 // make sure to clean up all pending results
1596- std::remove_if (
1597- queue_results.begin (),
1598- queue_results.end (),
1599- [id_task](const server_task_result_ptr & res) {
1600+ queue_results.erase (
1601+ std::remove_if (queue_results.begin (), queue_results.end (), [id_task](const server_task_result_ptr & res) {
16001602 return res->id == id_task;
1601- }
1602- );
1603+ }),
1604+ queue_results. end () );
16031605 }
16041606
16051607 void remove_waiting_task_ids (const std::unordered_set<int > & id_tasks) {
You can’t perform that action at this time.
0 commit comments