forked from Imagelibrary/rtems
rtems: Use _Objects_Free_nothing() for msg queues
Use _Objects_Free_nothing() for rtems_message_queue_construct() to avoid unreachable code in _CORE_message_queue_Close() in case only user-provided message buffers are used. Update #4007.
This commit is contained in:
@@ -41,7 +41,12 @@ static void *_Message_queue_Get_buffers(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
the_message_queue->free_message_buffers = config->storage_free;
|
||||
if ( config->storage_free != NULL ) {
|
||||
the_message_queue->free_message_buffers = config->storage_free;
|
||||
} else {
|
||||
the_message_queue->free_message_buffers = _Objects_Free_nothing;
|
||||
}
|
||||
|
||||
return config->storage_area;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,11 +51,9 @@ void _CORE_message_queue_Close(
|
||||
queue_context
|
||||
);
|
||||
|
||||
if ( the_message_queue->free_message_buffers != NULL ) {
|
||||
( *the_message_queue->free_message_buffers )(
|
||||
the_message_queue->message_buffers
|
||||
);
|
||||
}
|
||||
( *the_message_queue->free_message_buffers )(
|
||||
the_message_queue->message_buffers
|
||||
);
|
||||
|
||||
_Thread_queue_Destroy( &the_message_queue->Wait_queue );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user