diff options
Diffstat (limited to 'libperfmgr/RequestGroup.cc')
-rw-r--r-- | libperfmgr/RequestGroup.cc | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/libperfmgr/RequestGroup.cc b/libperfmgr/RequestGroup.cc index 1c7a96ae..7f7ddf4b 100644 --- a/libperfmgr/RequestGroup.cc +++ b/libperfmgr/RequestGroup.cc @@ -47,16 +47,13 @@ bool RequestGroup::GetExpireTime(std::chrono::milliseconds* expire_time) { bool active = false; for (auto it = request_map_.begin(); it != request_map_.end();) { - if (it->second <= now) { + auto duration = std::chrono::duration_cast<std::chrono::milliseconds>( + it->second - now); + if (duration <= std::chrono::milliseconds::zero()) { it = request_map_.erase(it); } else { + *expire_time = std::min(duration, *expire_time); active = true; - auto duration = - std::chrono::duration_cast<std::chrono::milliseconds>( - it->second - now); - if (duration < *expire_time) { - *expire_time = duration; - } ++it; } } |