diff --git a/src/dht_proxy_client.cpp b/src/dht_proxy_client.cpp index d1a82f599e217aa21505651e13b8a8b6dfb9a607..73b974867ce3cf686b1c3e047a62fd7aeeee33d8 100644 --- a/src/dht_proxy_client.cpp +++ b/src/dht_proxy_client.cpp @@ -379,7 +379,7 @@ DhtProxyClient::put(const InfoHash& key, Sp<Value> val, DoneCallback cb, time_po doPut(key, val, [this, cb, ok](bool result){ if (ok) *ok = result; - { + if (cb) { std::lock_guard<std::mutex> lock(lockCallbacks_); callbacks_.emplace_back([cb, result](){ cb(result, {}); @@ -469,9 +469,8 @@ DhtProxyClient::doPut(const InfoHash& key, Sp<Value> val, DoneCallbackSimple cb, if (response.status_code == 0) opFailed(); } - if (cb){ + if (cb) cb(ok); - } requests_.erase(reqid); } });