Ignore:
Timestamp:
Sep 11, 2009, 8:00:30 PM (11 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 5, master
Children:
5a6d25fc
Parents:
b094233
Message:

2009-09-11 Joel Sherrill <joel.sherrill@…>

  • score/include/rtems/score/coremsg.h, score/inline/rtems/score/coremsg.inl, score/src/coremsg.c, score/src/coremsginsert.c, score/src/coremsgseize.c, score/src/coremsgsubmit.c, score/src/objectnametoidstring.c: Disable the Core Message Queue features of notification, priority messages, and blocking sends when no API requires them.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/score/include/rtems/score/coremsg.h

    rb094233 r507d382  
    77
    88/*
    9  *  COPYRIGHT (c) 1989-2007.
     9 *  COPYRIGHT (c) 1989-2009.
    1010 *  On-Line Applications Research Corporation (OAR).
    1111 *
     
    3333#include <rtems/score/priority.h>
    3434#include <rtems/score/watchdog.h>
     35
     36#if defined(RTEMS_POSIX_API)
     37  #define RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY
     38#endif
     39
     40#if defined(RTEMS_POSIX_API)
     41  #define RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION
     42#endif
     43
     44#if defined(RTEMS_POSIX_API)
     45  #define RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND
     46#endif
    3547
    3648#ifdef __cplusplus
     
    7486  /** This element allows this structure to be placed on chains. */
    7587  Chain_Node                 Node;
    76   /** This field is the priority of this message. */
    77   int                        priority;
     88  #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY)
     89    /** This field is the priority of this message. */
     90    int                        priority;
     91  #endif
    7892  /** This field points to the contents of the message. */
    7993  CORE_message_queue_Buffer  Contents;
     
    87101 */
    88102typedef enum {
    89   /** This value indicates that pending messages are in FIFO order. */
     103  /** This value indicates that blocking tasks are in FIFO order. */
    90104  CORE_MESSAGE_QUEUE_DISCIPLINES_FIFO,
    91   /** This value indicates that pending messages are in priority order. */
     105  /** This value indicates that blocking tasks are in priority order. */
    92106  CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY
    93107}   CORE_message_queue_Disciplines;
     
    168182}   CORE_message_queue_Attributes;
    169183
    170 /**
    171  *  @brief Message Queue Notification Callback Prototype
    172  *
    173  *  The following defines the type for a Notification handler.  A notification
    174  *  handler is invoked when the message queue makes a 0->1 transition on
    175  *  pending messages.
    176  */
    177 typedef void (*CORE_message_queue_Notify_Handler)( void * );
     184#if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
     185  /**
     186   *  @brief Message Queue Notification Callback Prototype
     187   *
     188   *  The following defines the type for a Notification handler.  A
     189   *  notification handler is invoked when the message queue makes a
     190   *  0->1 transition on pending messages.
     191   */
     192  typedef void (*CORE_message_queue_Notify_Handler)( void * );
     193#endif
    178194
    179195/**
     
    212228   */
    213229  CORE_message_queue_Buffer         *message_buffers;
    214   /** This is the routine invoked when the message queue transitions
    215    *  from zero (0) messages pending to one (1) message pending.
    216    */
    217   CORE_message_queue_Notify_Handler  notify_handler;
    218   /** This field is the argument passed to the @ref notify_argument. */
    219   void                              *notify_argument;
     230  #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION)
     231    /** This is the routine invoked when the message queue transitions
     232     *  from zero (0) messages pending to one (1) message pending.
     233     */
     234    CORE_message_queue_Notify_Handler  notify_handler;
     235    /** This field is the argument passed to the @ref notify_argument. */
     236    void                              *notify_argument;
     237  #endif
    220238  /** This chain is the set of inactive messages.  A message is inactive
    221239   *  when it does not contain a pending message.
Note: See TracChangeset for help on using the changeset viewer.