From 1e1a91ed11458ddbb27b94d0001d8f0fc2ef7a97 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 23 Mar 2016 10:01:31 +0100 Subject: score: Remove Thread_queue_Queue::operations field Remove the Thread_queue_Queue::operations field to reduce the size of this structure. Add a thread queue operations parameter to the _Thread_queue_First(), _Thread_queue_First_locked(), _Thread_queue_Enqueue(), _Thread_queue_Dequeue() and _Thread_queue_Flush() functions. This is a preparation patch to reduce the size of several synchronization objects. --- cpukit/score/include/rtems/score/coremsg.h | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'cpukit/score/include/rtems/score/coremsg.h') diff --git a/cpukit/score/include/rtems/score/coremsg.h b/cpukit/score/include/rtems/score/coremsg.h index 84a3a97f0e..27443462fe 100644 --- a/cpukit/score/include/rtems/score/coremsg.h +++ b/cpukit/score/include/rtems/score/coremsg.h @@ -109,17 +109,6 @@ typedef enum { CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY } CORE_message_queue_Disciplines; -/** - * @brief Control block used to manage the attributes of each message queue. - * - * The following defines the control block used to manage the - * attributes of each message queue. - */ -typedef struct { - /** This field specifies the order in which blocking tasks will be ordered. */ - CORE_message_queue_Disciplines discipline; -} CORE_message_queue_Attributes; - #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION) /** * @brief Type for a notification handler. @@ -142,10 +131,12 @@ typedef struct { * which are blocked waiting to receive a message from this queue. */ Thread_queue_Control Wait_queue; - /** This element is the set of attributes which define this instance's - * behavior. + + /** + * @brief The thread queue operations according to the blocking discipline. */ - CORE_message_queue_Attributes Attributes; + const Thread_queue_Operations *operations; + /** This element is maximum number of messages which may be pending * at any given time. */ -- cgit v1.2.3