diff options
author | Dimitri Staessens <dimitri.staessens@ugent.be> | 2018-10-11 20:27:32 +0200 |
---|---|---|
committer | Dimitri Staessens <dimitri.staessens@ugent.be> | 2018-10-11 20:27:32 +0200 |
commit | 1ee129f4479b1910afc929f24bb70b8bc6478f01 (patch) | |
tree | f899381d05ed5f322829bc478c9e3517cf1f9184 /src/ipcpd/normal | |
parent | 6856f3e24fa00b99747bab790b478866212b2e2d (diff) | |
parent | 558fc46c63d28ce2ffd0abc5c737f49cc185ba82 (diff) | |
download | ouroboros-1ee129f4479b1910afc929f24bb70b8bc6478f01.tar.gz ouroboros-1ee129f4479b1910afc929f24bb70b8bc6478f01.zip |
Merge branch 'testing' into be
Diffstat (limited to 'src/ipcpd/normal')
-rw-r--r-- | src/ipcpd/normal/dt.c | 6 | ||||
-rw-r--r-- | src/ipcpd/normal/pol/link_state.c | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/ipcpd/normal/dt.c b/src/ipcpd/normal/dt.c index dc7343f1..54346458 100644 --- a/src/ipcpd/normal/dt.c +++ b/src/ipcpd/normal/dt.c @@ -532,12 +532,14 @@ static void packet_handler(int fd, if (ipcp_flow_write(dt_pci.eid, sdb)) { ipcp_sdb_release(sdb); #ifdef IPCP_FLOW_STATS - pthread_mutex_lock(&dt.stat[dt_pci.eid].lock); + pthread_mutex_lock(&dt.stat[fd].lock); ++dt.stat[fd].rcv_pkt[qc]; dt.stat[fd].rcv_bytes[qc] += len; + pthread_mutex_unlock(&dt.stat[fd].lock); + + pthread_mutex_lock(&dt.stat[dt_pci.eid].lock); ++dt.stat[dt_pci.eid].w_drp_pkt[qc]; dt.stat[dt_pci.eid].w_drp_bytes[qc] += len; - pthread_mutex_unlock(&dt.stat[dt_pci.eid].lock); #endif diff --git a/src/ipcpd/normal/pol/link_state.c b/src/ipcpd/normal/pol/link_state.c index 8db1a9c5..e8677f0d 100644 --- a/src/ipcpd/normal/pol/link_state.c +++ b/src/ipcpd/normal/pol/link_state.c @@ -795,7 +795,9 @@ static void handle_event(void * self, 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: |