diff options
author | Dimitri Staessens <dimitri.staessens@ugent.be> | 2018-02-06 17:42:40 +0100 |
---|---|---|
committer | Sander Vrijders <sander.vrijders@ugent.be> | 2018-02-06 18:05:16 +0100 |
commit | d2028e4cea956791152a41b12b2907178f40caa9 (patch) | |
tree | b438b15385abae958b71f1b2ca902ae9969a7f98 /src/ipcpd | |
parent | cb178d835ff608886518f1098d89e56cfb1d34b2 (diff) | |
download | ouroboros-d2028e4cea956791152a41b12b2907178f40caa9.tar.gz ouroboros-d2028e4cea956791152a41b12b2907178f40caa9.zip |
ipcpd: Handle LU_DONE state in DHT
The DHT would enter an infinite loop in lookup_wait() because the
LU_DONE state was not handled correctly.
Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be>
Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
Diffstat (limited to 'src/ipcpd')
-rw-r--r-- | src/ipcpd/normal/dht.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/ipcpd/normal/dht.c b/src/ipcpd/normal/dht.c index 103ffd1c..9296130a 100644 --- a/src/ipcpd/normal/dht.c +++ b/src/ipcpd/normal/dht.c @@ -1675,6 +1675,7 @@ static struct lookup * kad_lookup(struct dht * dht, out = kad_find(dht, id, addrs, code); lookup_add_out(lu, out); break; + case LU_DONE: case LU_DESTROY: lookup_detach(dht, lu); lookup_set_state(lu, LU_NULL); |