summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/msgqcreate.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2011-07-19 12:19:05 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2011-07-19 12:19:05 +0000
commitfe899305746545d09cbd64cf439657b105371b8d (patch)
treecf8372b99fabcb1db7c420c254066f1f16f54ca5 /cpukit/rtems/src/msgqcreate.c
parent2011-07-18 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-fe899305746545d09cbd64cf439657b105371b8d.tar.bz2
2011-07-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
* rtems/src/msgqcreate.c: Make packet size check consistent with _Message_queue_MP_Send_request_packet().
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