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:
Sebastian Huber
2021-05-10 09:39:35 +02:00
parent ab5aeb1be1
commit c2687666b1
2 changed files with 9 additions and 6 deletions

View File

@@ -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;
}

View File

@@ -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 );
}