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/src/corebarrierrelease.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'cpukit/score/src/corebarrierrelease.c') diff --git a/cpukit/score/src/corebarrierrelease.c b/cpukit/score/src/corebarrierrelease.c index c6d29b9f03..ba02301616 100644 --- a/cpukit/score/src/corebarrierrelease.c +++ b/cpukit/score/src/corebarrierrelease.c @@ -23,6 +23,16 @@ #include #include +static Thread_Control *_CORE_barrier_Dequeue( + CORE_barrier_Control *the_barrier +) +{ + return _Thread_queue_Dequeue( + &the_barrier->Wait_queue, + CORE_BARRIER_TQ_OPERATIONS + ); +} + uint32_t _CORE_barrier_Release( CORE_barrier_Control *the_barrier, #if defined(RTEMS_MULTIPROCESSING) @@ -38,7 +48,7 @@ uint32_t _CORE_barrier_Release( uint32_t count; count = 0; - while ( (the_thread = _Thread_queue_Dequeue(&the_barrier->Wait_queue)) ) { + while ( ( the_thread = _CORE_barrier_Dequeue( the_barrier ) ) ) { #if defined(RTEMS_MULTIPROCESSING) if ( !_Objects_Is_local_id( the_thread->Object.id ) ) (*api_barrier_mp_support) ( the_thread, id ); -- cgit v1.2.3