From aa0eac4f93b80537d02123715842d594a8ff3aad Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Thu, 6 Oct 2016 17:05:46 +0200 Subject: lib: Fix shutdown with pending SDUs The SDU's were not correctly removed upon shutdown, peek should be pop. --- src/lib/shm_ap_rbuff.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/lib/shm_ap_rbuff.c') diff --git a/src/lib/shm_ap_rbuff.c b/src/lib/shm_ap_rbuff.c index 184a1bf2..acbc81a6 100644 --- a/src/lib/shm_ap_rbuff.c +++ b/src/lib/shm_ap_rbuff.c @@ -294,7 +294,7 @@ int shm_ap_rbuff_write(struct shm_ap_rbuff * rb, struct rb_entry * e) return 0; } -int shm_ap_rbuff_peek_idx(struct shm_ap_rbuff * rb) +int shm_ap_rbuff_pop_idx(struct shm_ap_rbuff * rb) { int ret = 0; @@ -315,6 +315,8 @@ int shm_ap_rbuff_peek_idx(struct shm_ap_rbuff * rb) ret = tail_el_ptr(rb)->index; + *rb->ptr_head = (*rb->ptr_head + 1) & (SHM_BUFFER_SIZE -1); + pthread_mutex_unlock(rb->lock); return ret; -- cgit v1.2.3