diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-29 11:05:36 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-02 07:46:15 +0200 |
commit | 7e66865e17d7a82add541056de13717793da002a (patch) | |
tree | 924312da2c1abe33c48b6ec84102cde59c28074c /cpukit/score/src/coremsginsert.c | |
parent | score: _CORE_message_queue_Insert_message() (diff) | |
download | rtems-7e66865e17d7a82add541056de13717793da002a.tar.bz2 |
score: Move message notification
Move message notification to end of critical section and delegate the
message queue release to the notification handler. It may do more
complex notification actions out of the critical section.
Update #2555.
Diffstat (limited to 'cpukit/score/src/coremsginsert.c')
-rw-r--r-- | cpukit/score/src/coremsginsert.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/cpukit/score/src/coremsginsert.c b/cpukit/score/src/coremsginsert.c index 8baea36067..4613f50436 100644 --- a/cpukit/score/src/coremsginsert.c +++ b/cpukit/score/src/coremsginsert.c @@ -46,9 +46,6 @@ void _CORE_message_queue_Insert_message( ) { Chain_Control *pending_messages; -#if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION) - bool notify; -#endif the_message->Contents.size = content_size; @@ -63,10 +60,6 @@ void _CORE_message_queue_Insert_message( #endif pending_messages = &the_message_queue->Pending_messages; - -#if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION) - notify = ( the_message_queue->number_of_pending_messages == 0 ); -#endif ++the_message_queue->number_of_pending_messages; if ( submit_type == CORE_MESSAGE_QUEUE_SEND_REQUEST ) { @@ -82,14 +75,4 @@ void _CORE_message_queue_Insert_message( } else { _Chain_Prepend_unprotected( pending_messages, &the_message->Node ); } - - #if defined(RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION) - /* - * According to POSIX, does this happen before or after the message - * is actually enqueued. It is logical to think afterwards, because - * the message is actually in the queue at this point. - */ - if ( notify && the_message_queue->notify_handler ) - (*the_message_queue->notify_handler)(the_message_queue->notify_argument); - #endif } |