fix recv_with_timeout
This commit is contained in:
parent
f4dab52a24
commit
08296ec74d
1 changed files with 5 additions and 4 deletions
|
@ -1642,10 +1642,6 @@ struct server_response {
|
||||||
server_task_result_ptr recv_with_timeout(const std::unordered_set<int> & id_tasks, int timeout) {
|
server_task_result_ptr recv_with_timeout(const std::unordered_set<int> & id_tasks, int timeout) {
|
||||||
while (true) {
|
while (true) {
|
||||||
std::unique_lock<std::mutex> lock(mutex_results);
|
std::unique_lock<std::mutex> lock(mutex_results);
|
||||||
std::cv_status cr_res = condition_results.wait_for(lock, std::chrono::seconds(timeout));
|
|
||||||
if (cr_res == std::cv_status::timeout) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0; i < (int) queue_results.size(); i++) {
|
for (int i = 0; i < (int) queue_results.size(); i++) {
|
||||||
if (id_tasks.find(queue_results[i]->id) != id_tasks.end()) {
|
if (id_tasks.find(queue_results[i]->id) != id_tasks.end()) {
|
||||||
|
@ -1654,6 +1650,11 @@ struct server_response {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::cv_status cr_res = condition_results.wait_for(lock, std::chrono::seconds(timeout));
|
||||||
|
if (cr_res == std::cv_status::timeout) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// should never reach here
|
// should never reach here
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue