diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/rtems/src/msgqcreate.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/cpukit/rtems/src/msgqcreate.c b/cpukit/rtems/src/msgqcreate.c index e65dcacfe6..8a7abfa313 100644 --- a/cpukit/rtems/src/msgqcreate.c +++ b/cpukit/rtems/src/msgqcreate.c @@ -48,7 +48,6 @@ rtems_status_code rtems_message_queue_create( CORE_message_queue_Attributes the_msgq_attributes; #if defined(RTEMS_MULTIPROCESSING) bool is_global; - size_t max_packet_payload_size; #endif if ( !rtems_is_name_valid( name ) ) @@ -76,11 +75,14 @@ rtems_status_code rtems_message_queue_create( * It seems reasonable to create a que with a large max size, * and then just send smaller msgs from remote (or all) nodes. */ + if ( is_global ) { + size_t max_packet_payload_size = _MPCI_table->maximum_packet_size + - MESSAGE_QUEUE_MP_PACKET_SIZE; - max_packet_payload_size = _MPCI_table->maximum_packet_size - - MESSAGE_QUEUE_MP_PACKET_SIZE; - if ( is_global && max_packet_payload_size < max_message_size ) - return RTEMS_INVALID_SIZE; + if ( max_message_size > max_packet_payload_size ) { + return RTEMS_INVALID_SIZE; + } + } #endif #endif |