summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/coremsgseize.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-09-13 16:05:14 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-09-13 16:05:14 +0000
commit939ba8162fd32d4ce918b0b994adda8511641364 (patch)
tree850dfd391ca0c39c2a7f6acfecea52001474e7fd /cpukit/score/src/coremsgseize.c
parentDon't cvsignore rtems*.spec. (diff)
downloadrtems-939ba8162fd32d4ce918b0b994adda8511641364.tar.bz2
2009-09-13 Joel Sherrill <joel.sherrill@oarcorp.com>
* score/inline/rtems/score/coremsg.inl, score/src/coremsg.c, score/src/coremsgbroadcast.c, score/src/coremsginsert.c, score/src/coremsgseize.c, score/src/coremsgsubmit.c: Add wrappers for accessing message priority. Since these are empty when priority-based message queues are disabled, this eliminates some of the conditionals.
Diffstat (limited to 'cpukit/score/src/coremsgseize.c')
-rw-r--r--cpukit/score/src/coremsgseize.c34
1 files changed, 19 insertions, 15 deletions
diff --git a/cpukit/score/src/coremsgseize.c b/cpukit/score/src/coremsgseize.c
index 17a210c2ed..7b2294cb72 100644
--- a/cpukit/score/src/coremsgseize.c
+++ b/cpukit/score/src/coremsgseize.c
@@ -78,16 +78,20 @@ void _CORE_message_queue_Seize(
_ISR_Enable( level );
*size_p = the_message->Contents.size;
- #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY)
- _Thread_Executing->Wait.count = the_message->priority;
- #endif
- _CORE_message_queue_Copy_buffer(the_message->Contents.buffer,buffer,*size_p);
+ _Thread_Executing->Wait.count =
+ _CORE_message_queue_Get_message_priority( the_message );
+ _CORE_message_queue_Copy_buffer(
+ the_message->Contents.buffer,
+ buffer,
+ *size_p
+ );
#if !defined(RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND)
/*
- * There is not an API with blocking sends enabled. So return immediately.
+ * There is not an API with blocking sends enabled.
+ * So return immediately.
*/
- _CORE_message_queue_Free_message_buffer( the_message_queue, the_message );
+ _CORE_message_queue_Free_message_buffer(the_message_queue, the_message);
return;
#else
{
@@ -102,7 +106,10 @@ void _CORE_message_queue_Seize(
*/
the_thread = _Thread_queue_Dequeue( &the_message_queue->Wait_queue );
if ( !the_thread ) {
- _CORE_message_queue_Free_message_buffer( the_message_queue, the_message );
+ _CORE_message_queue_Free_message_buffer(
+ the_message_queue,
+ the_message
+ );
return;
}
@@ -111,9 +118,10 @@ void _CORE_message_queue_Seize(
* puts the messages in the message queue on behalf of the
* waiting task.
*/
- #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY)
- the_message->priority = the_thread->Wait.count;
- #endif
+ _CORE_message_queue_Set_message_priority(
+ the_message,
+ the_thread->Wait.count
+ );
the_message->Contents.size = (size_t) the_thread->Wait.option;
_CORE_message_queue_Copy_buffer(
the_thread->Wait.return_argument_second.immutable_object,
@@ -124,11 +132,7 @@ void _CORE_message_queue_Seize(
_CORE_message_queue_Insert_message(
the_message_queue,
the_message,
- #if defined(RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY)
- the_message->priority
- #else
- 0
- #endif
+ _CORE_message_queue_Get_message_priority( the_message )
);
return;
}