From 201982b1a9425c0c72ae4bc83fb086e3f0b599d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Sun, 1 Dec 2019 19:40:44 -0500 Subject: [PATCH] dhtrunner: don't count cancel as ops --- src/dhtrunner.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp index 8701db9b..e2628708 100644 --- a/src/dhtrunner.cpp +++ b/src/dhtrunner.cpp @@ -231,7 +231,7 @@ DhtRunner::shutdown(ShutdownCallback cb) { return; } if (logger_) - logger_->d("[runner %p] state changed to Stopping", this); + logger_->d("[runner %p] state changed to Stopping, %zu ongoing ops", this, ongoing_ops.load()); std::lock_guard<std::mutex> lck(storage_mtx); ongoing_ops++; shutdownCallbacks_.emplace_back(std::move(cb)); @@ -314,6 +314,7 @@ DhtRunner::join() std::lock_guard<std::mutex> lck(storage_mtx); pending_ops = decltype(pending_ops)(); pending_ops_prio = decltype(pending_ops_prio)(); + ongoing_ops = 0; } { std::lock_guard<std::mutex> lck(dht_mtx); @@ -699,7 +700,6 @@ void DhtRunner::cancelListen(InfoHash h, size_t token) { std::lock_guard<std::mutex> lck(storage_mtx); - ongoing_ops++; #ifdef OPENDHT_PROXY_CLIENT pending_ops.emplace([=](SecureDht&) { auto it = listeners_.find(token); @@ -709,12 +709,10 @@ DhtRunner::cancelListen(InfoHash h, size_t token) if (it->second.tokenProxyDht and dht_via_proxy_) dht_via_proxy_->cancelListen(h, it->second.tokenProxyDht); listeners_.erase(it); - opEnded(); }); #else pending_ops.emplace([=](SecureDht& dht) { dht.cancelListen(h, token); - opEnded(); }); #endif // OPENDHT_PROXY_CLIENT cv.notify_all(); @@ -724,7 +722,6 @@ void DhtRunner::cancelListen(InfoHash h, std::shared_future<size_t> ftoken) { std::lock_guard<std::mutex> lck(storage_mtx); - ongoing_ops++; #ifdef OPENDHT_PROXY_CLIENT pending_ops.emplace([=](SecureDht&) { auto it = listeners_.find(ftoken.get()); @@ -734,12 +731,10 @@ DhtRunner::cancelListen(InfoHash h, std::shared_future<size_t> ftoken) if (it->second.tokenProxyDht and dht_via_proxy_) dht_via_proxy_->cancelListen(h, it->second.tokenProxyDht); listeners_.erase(it); - opEnded(); }); #else pending_ops.emplace([=](SecureDht& dht) { dht.cancelListen(h, ftoken.get()); - opEnded(); }); #endif // OPENDHT_PROXY_CLIENT cv.notify_all(); @@ -788,10 +783,8 @@ void DhtRunner::cancelPut(const InfoHash& h, Value::Id id) { std::lock_guard<std::mutex> lck(storage_mtx); - ongoing_ops++; pending_ops.emplace([=](SecureDht& dht) { dht.cancelPut(h, id); - opEnded(); }); cv.notify_all(); } @@ -800,10 +793,8 @@ void DhtRunner::cancelPut(const InfoHash& h, const std::shared_ptr<Value>& value) { std::lock_guard<std::mutex> lck(storage_mtx); - ongoing_ops++; pending_ops.emplace([=](SecureDht& dht) { dht.cancelPut(h, value->id); - opEnded(); }); cv.notify_all(); } -- GitLab