summaryrefslogtreecommitdiff
path: root/libperfmgr/RequestGroup.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libperfmgr/RequestGroup.cc')
-rw-r--r--libperfmgr/RequestGroup.cc11
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;
}
}