From 0b6c8e3b7d10c44ccb5330a81e90cf1b4cae4dfb Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Tue, 29 Nov 2016 22:30:56 +0100 Subject: lib, irmd: Ensure rbuffs are empty upon destruction Also cleans up the flow_set if an AP-I dies abruptly. --- src/lib/shm_rbuff.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/lib/shm_rbuff.c') diff --git a/src/lib/shm_rbuff.c b/src/lib/shm_rbuff.c index 1e97364c..5d6d30c7 100644 --- a/src/lib/shm_rbuff.c +++ b/src/lib/shm_rbuff.c @@ -224,9 +224,15 @@ void shm_rbuff_destroy(struct shm_rbuff * rb) { char fn[FN_MAX_CHARS]; - if (rb == NULL) - return; + assert(rb); + +#ifdef CONFIG_OUROBOROS_DEBUG + pthread_mutex_lock(rb->lock); + assert(shm_rbuff_empty(rb)); + + pthread_mutex_unlock(rb->lock); +#endif sprintf(fn, SHM_RBUFF_PREFIX "%d.%d", rb->api, rb->port_id); if (munmap(rb->shm_base, SHM_RBUFF_FILE_SIZE) == -1) -- cgit v1.2.3