diff options
-rw-r--r-- | src/ipcpd/unicast/dir/dht.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ipcpd/unicast/dir/dht.c b/src/ipcpd/unicast/dir/dht.c index 858fad0b..6b06def9 100644 --- a/src/ipcpd/unicast/dir/dht.c +++ b/src/ipcpd/unicast/dir/dht.c @@ -1353,7 +1353,7 @@ static int dht_kv_respond_req(uint8_t * key, req = __dht_kv_req_get_req(key); if (req == NULL) { - log_warn(KEY_FMT " Failed to find req.", KEY_VAL(key)); + log_dbg(KEY_FMT " Failed to find req.", KEY_VAL(key)); goto fail_req; } @@ -1375,6 +1375,8 @@ static int dht_kv_respond_req(uint8_t * key, pthread_cond_broadcast(&dht.reqs.cond); pthread_mutex_unlock(&dht.reqs.mtx); + + return 0; fail_req: pthread_mutex_unlock(&dht.reqs.mtx); return -1; @@ -3058,7 +3060,9 @@ static void do_dht_kv_find_value_rsp(const dht_find_node_rsp_msg_t * node, if (val->n_values > 0) { log_dbg(KEY_FMT " %zd new values received.", KEY_VAL(key), val->n_values); - dht_kv_respond_req(key, val->values, val->n_values); + if (dht_kv_respond_req(key, val->values, val->n_values) < 0) + log_warn(KEY_FMT " Failed to respond to request.", + KEY_VAL(key)); peer_list_destroy(&pl); return; /* done! */ } |