From 4a49a532223f65c9505e0c98dbd6ea3b5962b589 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Wed, 2 May 2018 11:55:01 -0400 Subject: [PATCH] Revert "network engine: expire node on next run on network failure" This reverts commit 8489433060de77cb43c15806bdb510ecf4210ea8. --- src/network_engine.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/network_engine.cpp b/src/network_engine.cpp index dc3e21c2..2245eb74 100644 --- a/src/network_engine.cpp +++ b/src/network_engine.cpp @@ -292,24 +292,20 @@ NetworkEngine::requestStep(Sp<Request> sreq) auto err = send((char*)req.msg.data(), req.msg.size(), (node.getReplyTime() >= now - UDP_REPLY_TIME) ? 0 : MSG_CONFIRM, node.getAddr()); - std::weak_ptr<Request> wreq = sreq; if (err == ENETUNREACH || err == EHOSTUNREACH || err == EAFNOSUPPORT || err == EPIPE) { - scheduler.add(now, [this,wreq]() mutable { - if (auto req = wreq.lock()) { - req->node->setExpired(); - if (not req->node->id) - requests.erase(req->tid); - } - }); + node.setExpired(); + if (not node.id) + requests.erase(req.tid); } else { if (err != EAGAIN) { ++req.attempt_count; } req.last_try = now; + std::weak_ptr<Request> wreq = sreq; scheduler.add(req.last_try + Node::MAX_RESPONSE_TIME, [this,wreq] { if (auto req = wreq.lock()) requestStep(req); -- GitLab