@@ -1698,13 +1698,13 @@ struct server_response {
16981698 for (const auto & id_task : id_tasks) {
16991699 auto iter = queue_results.find (id_task);
17001700 if (iter != queue_results.cend ()) {
1701- server_task_result_ptr res = std::move ( iter->second ) ;
1701+ server_task_result_ptr res = iter->second ;
17021702 queue_results.erase (id_task);
17031703 return res;
17041704 }
17051705 }
17061706
1707- std::lock_guard <std::mutex> lock (mutex_results);
1707+ std::unique_lock <std::mutex> lock (mutex_results);
17081708 condition_results.wait (lock, [&]{
17091709 return queue_results.cbegin () != queue_results.cend ();
17101710 });
@@ -1720,7 +1720,7 @@ struct server_response {
17201720 for (const auto & id_task : id_tasks) {
17211721 auto iter = queue_results.find (id_task);
17221722 if (iter != queue_results.cend ()) {
1723- server_task_result_ptr res = std::move ( iter->second ) ;
1723+ server_task_result_ptr res = iter->second ;
17241724 queue_results.erase (id_task);
17251725 return res;
17261726 }
@@ -1740,12 +1740,12 @@ struct server_response {
17401740 while (true ) {
17411741 auto iter = queue_results.find (id_task);
17421742 if (iter != queue_results.cend ()) {
1743- server_task_result_ptr res = std::move ( iter->second ) ;
1743+ server_task_result_ptr res = iter->second ;
17441744 queue_results.erase (id_task);
17451745 return res;
17461746 }
17471747
1748- std::lock_guard <std::mutex> lock (mutex_results);
1748+ std::unique_lock <std::mutex> lock (mutex_results);
17491749 condition_results.wait (lock, [&]{
17501750 return queue_results.cbegin () != queue_results.cend ();
17511751 });
0 commit comments