From 24ea1cebeb5e64ba2371c8e740ebe3c81d565ca2 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 24 Sep 2020 09:05:36 +0200 Subject: rtems: Remove Message_queue_Control::attribute_set Add Message_queue_Control::is_global if RTEMS_MULTIPROCESSING is defined. This reduces the Message_queue_Control size in standard RTEMS configurations. Update #4007. --- cpukit/rtems/src/msgqcreate.c | 12 ++++++------ cpukit/rtems/src/msgqdelete.c | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'cpukit/rtems/src') diff --git a/cpukit/rtems/src/msgqcreate.c b/cpukit/rtems/src/msgqcreate.c index 79b198199e..20787f00a6 100644 --- a/cpukit/rtems/src/msgqcreate.c +++ b/cpukit/rtems/src/msgqcreate.c @@ -53,11 +53,11 @@ rtems_status_code rtems_message_queue_create( return RTEMS_INVALID_ADDRESS; #if defined(RTEMS_MULTIPROCESSING) - if ( !_System_state_Is_multiprocessing ) { - attribute_set = _Attributes_Clear( attribute_set, RTEMS_GLOBAL ); + if ( _System_state_Is_multiprocessing ) { + is_global = _Attributes_Is_global( attribute_set ); + } else { + is_global = false; } - - is_global = _Attributes_Is_global( attribute_set ); #endif if ( count == 0 ) @@ -99,9 +99,9 @@ rtems_status_code rtems_message_queue_create( _Objects_Allocator_unlock(); return RTEMS_TOO_MANY; } -#endif - the_message_queue->attribute_set = attribute_set; + the_message_queue->is_global = is_global; +#endif if (_Attributes_Is_priority( attribute_set ) ) discipline = CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY; diff --git a/cpukit/rtems/src/msgqdelete.c b/cpukit/rtems/src/msgqdelete.c index 791f96e676..e1d57addc9 100644 --- a/cpukit/rtems/src/msgqdelete.c +++ b/cpukit/rtems/src/msgqdelete.c @@ -60,7 +60,7 @@ rtems_status_code rtems_message_queue_delete( ); #if defined(RTEMS_MULTIPROCESSING) - if ( _Attributes_Is_global( the_message_queue->attribute_set ) ) { + if ( the_message_queue->is_global ) { _Objects_MP_Close( &_Message_queue_Information, the_message_queue->Object.id -- cgit v1.2.3