From 9f503dbb65e335a79605700dab814446036658f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Sat, 21 Apr 2018 12:22:58 -0400
Subject: [PATCH] proxy client: loopSignal on put refresh notification

---
 src/dht_proxy_client.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/dht_proxy_client.cpp b/src/dht_proxy_client.cpp
index 200965b8..22aa5e8f 100644
--- a/src/dht_proxy_client.cpp
+++ b/src/dht_proxy_client.cpp
@@ -91,6 +91,7 @@ DhtProxyClient::startProxy()
     if (serverHost_.empty()) return;
     DHT_LOG.w("Staring proxy client to %s", serverHost_.c_str());
     nextProxyConfirmation = scheduler.add(scheduler.time(), std::bind(&DhtProxyClient::confirmProxy, this));
+    loopSignal_();
 }
 
 DhtProxyClient::~DhtProxyClient()
@@ -647,6 +648,7 @@ DhtProxyClient::cancelListen(const InfoHash& key, size_t gtoken) {
         });
     }
     scheduler.edit(it->second.opExpirationJob, ops.getExpiration());
+    loopSignal_();
     return canceled;
 }
 
@@ -710,6 +712,7 @@ DhtProxyClient::doListen(const InfoHash& key, ValueCallback cb, Value::Filter fi
         }
         auto next = l->second.cache.onValues(expired ? new_values_empty : values, std::vector<Value::Id>{}, expired_ids, types, scheduler.time());
         scheduler.edit(l->second.cacheExpirationJob, next);
+        loopSignal_();
         return true;
     };
     auto pushNotifToken = std::make_shared<proxy::ListenToken>(0);
@@ -966,6 +969,7 @@ DhtProxyClient::pushNotificationReceived(const std::map<std::string, std::string
                 auto vid = std::stoull(vidIt->second);
                 auto put = search.puts.at(vid);
                 scheduler.edit(put.refreshJob, scheduler.time());
+                loopSignal_();
             } else {
                 // Refresh listen
                 for (auto& list : search.listeners)
-- 
GitLab