Fix inverted logic on cache expiry (#1239)

This was resulting in spurious timeouts when multiple blinks are pending
quorum responses.
This commit is contained in:
Jason Rhinelander 2020-08-30 22:42:29 -03:00 committed by GitHub
parent 598c0b6784
commit 9a4f40a092
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1161,7 +1161,7 @@ std::future<std::pair<cryptonote::blink_result, std::string>> send_blink(crypton
std::unique_lock lock{pending_blink_result_mutex};
for (auto it = pending_blink_results.begin(); it != pending_blink_results.end(); ) {
auto &b_results = it->second;
if (b_results.expiry >= now) {
if (b_results.expiry < now) {
try { b_results.promise.set_value(std::make_pair(cryptonote::blink_result::timeout, "Blink quorum timeout")); }
catch (const std::future_error &) { /* ignore */ }
it = pending_blink_results.erase(it);