summaryrefslogtreecommitdiff
path: root/src/irmd
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@intec.ugent.be>2016-09-02 13:48:36 +0200
committerdimitri staessens <dimitri.staessens@intec.ugent.be>2016-09-02 14:59:42 +0200
commit4f44c91c68a3706e04334066f28471d56cc71849 (patch)
treec31bfb75b7abfea47a1773fcbe2782d4832d5c49 /src/irmd
parent4493d36a4769c6625e3025a0c484bf0ec65708bd (diff)
downloadouroboros-4f44c91c68a3706e04334066f28471d56cc71849.tar.gz
ouroboros-4f44c91c68a3706e04334066f28471d56cc71849.zip
lib: Add northbound ringbuffers
Fast path is split in north and southbound paths.
Diffstat (limited to 'src/irmd')
-rw-r--r--src/irmd/main.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/irmd/main.c b/src/irmd/main.c
index a69dd526..a4962c3b 100644
--- a/src/irmd/main.c
+++ b/src/irmd/main.c
@@ -1742,7 +1742,7 @@ void * irm_sanitize()
if (kill(f->n_api, 0) < 0) {
struct shm_ap_rbuff * n_rb =
- shm_ap_rbuff_open(f->n_api);
+ shm_ap_rbuff_open_s(f->n_api);
bmp_release(irmd->port_ids, f->port_id);
list_del(&f->next);
@@ -1755,13 +1755,17 @@ void * irm_sanitize()
continue;
}
if (kill(f->n_1_api, 0) < 0) {
- struct shm_ap_rbuff * n_1_rb =
- shm_ap_rbuff_open(f->n_1_api);
+ struct shm_ap_rbuff * n_1_rb_s =
+ shm_ap_rbuff_open_s(f->n_1_api);
+ struct shm_ap_rbuff * n_1_rb_n =
+ shm_ap_rbuff_open_n(f->n_1_api);
list_del(&f->next);
LOG_ERR("IPCP %d gone, flow %d removed.",
f->n_1_api, f->port_id);
- if (n_1_rb != NULL)
- shm_ap_rbuff_destroy(n_1_rb);
+ if (n_1_rb_n != NULL)
+ shm_ap_rbuff_destroy(n_1_rb_n);
+ if (n_1_rb_s != NULL)
+ shm_ap_rbuff_destroy(n_1_rb_s);
irm_flow_destroy(f);
}
}