From a0a108512cec811233370fe88bdc3ee332204705 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Sun, 24 Apr 2016 18:58:52 -0400
Subject: [PATCH] expire request when node is expired

---
 include/opendht/network_engine.h | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/include/opendht/network_engine.h b/include/opendht/network_engine.h
index e85366f2..ec4f7e74 100644
--- a/include/opendht/network_engine.h
+++ b/include/opendht/network_engine.h
@@ -477,10 +477,9 @@ private:
             return;
 
         auto now = scheduler.time();
-        if (req->expired(now)) {
+        if (req->node->isExpired(now) or req->expired(now)) {
             req->on_expired(req, true);
-            req->on_expired = {};
-            req->on_done = {};
+            req->clear();
             requests.erase(req->tid);
             return;
         } else if (req->attempt_count == 1) {
-- 
GitLab