There is a small chance a request expire time is less than 1ms. In this
case, the request will be removed.
Test: libperfmgr_test
Change-Id: Ib8f2f45a9c9a1874417bd2510c73e145b480ce52
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;
}
}