summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-08-22 10:58:34 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-09-08 09:55:27 +0200
commite41308eab8ae4505844d8e499664424f8c7f2bd1 (patch)
tree7dffe5edacd3f245ba5ef3b64b431b7e4c74c454 /cpukit/posix/include/rtems/posix
parentscore: Simplify thread queue acquire/release (diff)
downloadrtems-e41308eab8ae4505844d8e499664424f8c7f2bd1.tar.bz2
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.
Diffstat (limited to 'cpukit/posix/include/rtems/posix')
-rw-r--r--cpukit/posix/include/rtems/posix/barrierimpl.h2
-rw-r--r--cpukit/posix/include/rtems/posix/mqueueimpl.h2
-rw-r--r--cpukit/posix/include/rtems/posix/posixapi.h14
-rw-r--r--cpukit/posix/include/rtems/posix/semaphoreimpl.h2
4 files changed, 13 insertions, 7 deletions
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
);
}