From e82a5c416673e1eb2fbafb1deaaa8ac07971215e Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Sat, 14 May 2016 21:10:08 +0200 Subject: lib: dev.c: added locking Locking is required for multi-threaded applications. Flows are locked separately. Read/Write locks are used for concurrent reads. --- 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 6c04ccc5..da6f0e33 100644 --- a/src/lib/shm_ap_rbuff.c +++ b/src/lib/shm_ap_rbuff.c @@ -253,8 +253,10 @@ struct rb_entry * shm_ap_rbuff_read(struct shm_ap_rbuff * rb) } e = malloc(sizeof(*e)); - if (e == NULL) + if (e == NULL) { + pthread_mutex_unlock(rb->shm_mutex); return NULL; + } *e = *(rb->shm_base + *rb->ptr_tail); -- cgit v1.2.3