Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Changes between Initial Version and Version 3 of Ticket #4819


Ignore:
Timestamp:
01/24/23 15:54:23 (17 months ago)
Author:
Sebastian Huber
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #4819

    • Property Status changed from new to assigned
    • Property Component changed from admin to unspecified
    • Property Owner set to Needs Funding
    • Property Version changed from to 6
    • Property Milestone changed from to 7.1
    • Property Keywords qualification added
  • Ticket #4819 – Description

    initial v3  
    99**File list (please check the attached excel for more information):**
    1010cpukit\rtems\src\msgqconstruct.c
     11
     12**Code block**
     13{{{#!c
     14#if defined(RTEMS_MULTIPROCESSING)
     15  if ( _System_state_Is_multiprocessing ) {
     16    is_global = _Attributes_Is_global( config->attributes );
     17  } else {
     18    is_global = false;
     19  }
     20
     21#if 1
     22  /*
     23   * I am not 100% sure this should be an error.
     24   * It seems reasonable to create a que with a large max size,
     25   * and then just send smaller msgs from remote (or all) nodes.
     26   */
     27  if ( is_global ) {
     28    size_t max_packet_payload_size = _MPCI_table->maximum_packet_size
     29      - MESSAGE_QUEUE_MP_PACKET_SIZE;
     30
     31    if ( config->maximum_message_size > max_packet_payload_size ) {
     32      return RTEMS_INVALID_SIZE;
     33    }
     34  }
     35#endif
     36#endif
     37}}}
     38
     39**Analysis
     40The check is superfluous since the send directives check this also. It just prevents local messages from having a larger size. I would remove the check.