diff options
Diffstat (limited to 'src/ipcpd/normal')
| -rw-r--r-- | src/ipcpd/normal/dht.c | 2 | ||||
| -rw-r--r-- | src/ipcpd/normal/pol/link_state.c | 9 | 
2 files changed, 5 insertions, 6 deletions
| diff --git a/src/ipcpd/normal/dht.c b/src/ipcpd/normal/dht.c index aa1909e9..0ad9d9a7 100644 --- a/src/ipcpd/normal/dht.c +++ b/src/ipcpd/normal/dht.c @@ -2729,7 +2729,7 @@ static void handle_event(void *       self,                  pthread_t          thr;                  struct join_info * inf;                  struct conn *      c     = (struct conn *) o; -                struct timespec    slack = {0, 10 * MILLION}; +                struct timespec    slack = {0, DHT_ENROLL_SLACK * MILLION};                  /* Give the pff some time to update for the new link. */                  nanosleep(&slack, NULL); diff --git a/src/ipcpd/normal/pol/link_state.c b/src/ipcpd/normal/pol/link_state.c index e8677f0d..5f592edf 100644 --- a/src/ipcpd/normal/pol/link_state.c +++ b/src/ipcpd/normal/pol/link_state.c @@ -789,16 +789,15 @@ static void handle_event(void *       self,          switch (event) {          case NOTIFY_DT_CONN_ADD: +                pthread_rwlock_rdlock(&ls.db_lock); +                send_lsm(ipcpi.dt_addr, c->conn_info.addr, 0); +                pthread_rwlock_unlock(&ls.db_lock); +                  if (lsdb_add_nb(c->conn_info.addr, c->flow_info.fd, NB_DT))                          log_dbg("Failed to add neighbor to LSDB.");                  if (lsdb_add_link(ipcpi.dt_addr, c->conn_info.addr, 0, &qs))                          log_dbg("Failed to add new adjacency to LSDB."); - -                pthread_rwlock_rdlock(&ls.db_lock); -                send_lsm(ipcpi.dt_addr, c->conn_info.addr, 0); -                pthread_rwlock_unlock(&ls.db_lock); -                  break;          case NOTIFY_DT_CONN_DEL:                  flow_event(c->flow_info.fd, false); | 
