diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-09-01 16:32:06 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2005-09-01 16:32:06 +0000 |
commit | 2bbe78a24927567bfe6bfbde292ce500486fcfc8 (patch) | |
tree | 9043e4854cc3f41bffd33df63b61b67721e59e76 /cpukit/score/inline/rtems/score | |
parent | 2005-09-01 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-2bbe78a24927567bfe6bfbde292ce500486fcfc8.tar.bz2 |
2005-09-01 Joel Sherrill <joel@OARcorp.com>
PR 820/rtems
* score/inline/rtems/score/coremsg.inl,
score/macros/rtems/score/coremsg.inl, score/src/coremsginsert.c:
Increment of pending message count should be atomic with insertion on
the pending message chain. Determination of the need to call the
notification handler should also be in this atomic section of code.
Diffstat (limited to 'cpukit/score/inline/rtems/score')
-rw-r--r-- | cpukit/score/inline/rtems/score/coremsg.inl | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/cpukit/score/inline/rtems/score/coremsg.inl b/cpukit/score/inline/rtems/score/coremsg.inl index f78942283c..ece05d13f3 100644 --- a/cpukit/score/inline/rtems/score/coremsg.inl +++ b/cpukit/score/inline/rtems/score/coremsg.inl @@ -158,12 +158,15 @@ RTEMS_INLINE_ROUTINE boolean _CORE_message_queue_Is_priority( * messages on the_message_queue. */ -RTEMS_INLINE_ROUTINE void _CORE_message_queue_Append ( +RTEMS_INLINE_ROUTINE void _CORE_message_queue_Append_unprotected ( CORE_message_queue_Control *the_message_queue, CORE_message_queue_Buffer_control *the_message ) { - _Chain_Append( &the_message_queue->Pending_messages, &the_message->Node ); + _Chain_Append_unprotected( + &the_message_queue->Pending_messages, + &the_message->Node + ); } /** @@ -171,12 +174,12 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Append ( * messages on the_message_queue. */ -RTEMS_INLINE_ROUTINE void _CORE_message_queue_Prepend ( +RTEMS_INLINE_ROUTINE void _CORE_message_queue_Prepend_unprotected ( CORE_message_queue_Control *the_message_queue, CORE_message_queue_Buffer_control *the_message ) { - _Chain_Prepend( + _Chain_Prepend_unprotected( &the_message_queue->Pending_messages, &the_message->Node ); |