X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Frmr%2Fcommon%2Fsrc%2Fring_static.c;h=8e565fabb47de9009ab3275f8e1c62fc8c138e60;hb=refs%2Fchanges%2F15%2F5115%2F2;hp=da2a9bd05c4d7f8b5ded5adfba05489de3d77d5d;hpb=9c2f0c74adb03a21646742702813b6ba4a4ae288;p=ric-plt%2Flib%2Frmr.git diff --git a/src/rmr/common/src/ring_static.c b/src/rmr/common/src/ring_static.c index da2a9bd..8e565fa 100644 --- a/src/rmr/common/src/ring_static.c +++ b/src/rmr/common/src/ring_static.c @@ -148,7 +148,15 @@ static void uta_ring_free( void* vr ) { if( (r = (ring_t*) vr) == NULL ) { return; } - + if( r->data ){ + free( r->data ); + } + if( r->rgate ){ + free( r->rgate ); + } + if( r->wgate ){ + free( r->wgate ); + } free( r ); } @@ -183,6 +191,7 @@ static inline void* uta_ring_extract( void* vr ) { if( r->rgate != NULL ) { // if lock exists we must honour it pthread_mutex_lock( r->rgate ); if( r->tail == r->head ) { // ensure ring didn't go empty while waiting + pthread_mutex_unlock( r->rgate ); return NULL; } }