diff options
| -rw-r--r-- | src/ipcpd/normal/dht.c | 5 | ||||
| -rw-r--r-- | src/lib/CMakeLists.txt | 4 | 
2 files changed, 6 insertions, 3 deletions
| diff --git a/src/ipcpd/normal/dht.c b/src/ipcpd/normal/dht.c index 3a5229b3..548ae03a 100644 --- a/src/ipcpd/normal/dht.c +++ b/src/ipcpd/normal/dht.c @@ -730,6 +730,7 @@ static void lookup_update(struct dht *    dht,          struct contact *   c = NULL;          size_t             n;          size_t             pos = 0; +        bool               mod = false;          assert(lu);          assert(msg); @@ -783,6 +784,7 @@ static void lookup_update(struct dht *    dht,                  if (lu->n_contacts < dht->k) {                          list_add_tail(&c->next, p);                          ++lu->n_contacts; +                        mod = true;                  } else if (pos == dht->k) {                          contact_destroy(c);                          continue; @@ -793,10 +795,11 @@ static void lookup_update(struct dht *    dht,                                              struct contact, next);                          list_del(&d->next);                          contact_destroy(d); +                        mod = true;                  }          } -        if (lu->out == 0) +        if (lu->out == 0 && !mod)                  lu->state = LU_COMPLETE;          else                  lu->state = LU_UPDATE; diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index fa6254bf..6ab5ebc8 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -165,8 +165,8 @@ set(SHM_RDRB_NAME "/${SHM_PREFIX}.rdrb" CACHE INTERNAL    "Name for the main POSIX shared memory buffer")  set(SHM_RDRB_BLOCK_SIZE "sysconf(_SC_PAGESIZE)" CACHE STRING    "SDU buffer block size, multiple of pagesize for performance") -set(SHM_RBUFF_LOCKLESS 1 CACHE BOOL -  "Enable shared memory rbuff lockless support") +set(SHM_RBUFF_LOCKLESS 0 CACHE BOOL +  "Enable shared memory lockless rbuff support")  set(SOURCE_FILES    # Add source files here | 
