From e41308eab8ae4505844d8e499664424f8c7f2bd1 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 22 Aug 2016 10:58:34 +0200 Subject: score: Introduce Thread_queue_Lock_context Introduce Thread_queue_Lock_context to contain the context necessary for thread queue lock and thread wait lock acquire/release operations to reduce the Thread_Control size. --- cpukit/posix/include/rtems/posix/barrierimpl.h | 2 +- cpukit/posix/include/rtems/posix/mqueueimpl.h | 2 +- cpukit/posix/include/rtems/posix/posixapi.h | 14 ++++++++++---- cpukit/posix/include/rtems/posix/semaphoreimpl.h | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-) (limited to 'cpukit/posix/include/rtems/posix') diff --git a/cpukit/posix/include/rtems/posix/barrierimpl.h b/cpukit/posix/include/rtems/posix/barrierimpl.h index 2fbc2f9172..fae66a6171 100644 --- a/cpukit/posix/include/rtems/posix/barrierimpl.h +++ b/cpukit/posix/include/rtems/posix/barrierimpl.h @@ -71,7 +71,7 @@ RTEMS_INLINE_ROUTINE POSIX_Barrier_Control *_POSIX_Barrier_Get( _Thread_queue_Context_initialize( queue_context ); return (POSIX_Barrier_Control *) _Objects_Get( (Objects_Id) *barrier, - &queue_context->Lock_context, + &queue_context->Lock_context.Lock_context, &_POSIX_Barrier_Information ); } diff --git a/cpukit/posix/include/rtems/posix/mqueueimpl.h b/cpukit/posix/include/rtems/posix/mqueueimpl.h index 62ddbef8f8..5888800ca1 100644 --- a/cpukit/posix/include/rtems/posix/mqueueimpl.h +++ b/cpukit/posix/include/rtems/posix/mqueueimpl.h @@ -114,7 +114,7 @@ RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Get( _Thread_queue_Context_initialize( queue_context ); return (POSIX_Message_queue_Control *) _Objects_Get( id, - &queue_context->Lock_context, + &queue_context->Lock_context.Lock_context, &_POSIX_Message_queue_Information ); } diff --git a/cpukit/posix/include/rtems/posix/posixapi.h b/cpukit/posix/include/rtems/posix/posixapi.h index fabde4d6f9..12baa75eea 100644 --- a/cpukit/posix/include/rtems/posix/posixapi.h +++ b/cpukit/posix/include/rtems/posix/posixapi.h @@ -105,16 +105,22 @@ RTEMS_INLINE_ROUTINE int _POSIX_Zero_or_minus_one_plus_errno( if ( id == NULL ) { \ return NULL; \ } \ - the_object = \ - _Objects_Get( (Objects_Id) *id, &queue_context->Lock_context, info ); \ + the_object = _Objects_Get( \ + (Objects_Id) *id, \ + &queue_context->Lock_context.Lock_context, \ + info \ + ); \ if ( the_object == NULL ) { \ _Once_Lock(); \ if ( *id == initializer ) { \ init( id, NULL ); \ } \ _Once_Unlock(); \ - the_object = \ - _Objects_Get( (Objects_Id) *id, &queue_context->Lock_context, info ); \ + the_object = _Objects_Get( \ + (Objects_Id) *id, \ + &queue_context->Lock_context.Lock_context, \ + info \ + ); \ } \ return (type *) the_object diff --git a/cpukit/posix/include/rtems/posix/semaphoreimpl.h b/cpukit/posix/include/rtems/posix/semaphoreimpl.h index 17d3f64e92..2bafbe9b97 100644 --- a/cpukit/posix/include/rtems/posix/semaphoreimpl.h +++ b/cpukit/posix/include/rtems/posix/semaphoreimpl.h @@ -64,7 +64,7 @@ RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *_POSIX_Semaphore_Get( _Thread_queue_Context_initialize( queue_context ); return (POSIX_Semaphore_Control *) _Objects_Get( (Objects_Id) *id, - &queue_context->Lock_context, + &queue_context->Lock_context.Lock_context, &_POSIX_Semaphore_Information ); } -- cgit v1.2.3