summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/msgqcreate.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems/src/msgqcreate.c')
-rw-r--r--cpukit/rtems/src/msgqcreate.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/cpukit/rtems/src/msgqcreate.c b/cpukit/rtems/src/msgqcreate.c
index 77af8eac95..27c670f578 100644
--- a/cpukit/rtems/src/msgqcreate.c
+++ b/cpukit/rtems/src/msgqcreate.c
@@ -66,6 +66,7 @@ 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 ) )
@@ -94,7 +95,9 @@ rtems_status_code rtems_message_queue_create(
* and then just send smaller msgs from remote (or all) nodes.
*/
- if ( is_global && (_MPCI_table->maximum_packet_size < max_message_size) )
+ max_packet_payload_size = _MPCI_table->maximum_packet_size
+ - sizeof ( Message_queue_MP_Packet );
+ if ( is_global && max_packet_payload_size < max_message_size )
return RTEMS_INVALID_SIZE;
#endif
#endif