diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-02-26 11:35:28 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-03-04 12:03:02 +0100 |
commit | d2ffb7dc7704f1762669a3f67722cc2597819816 (patch) | |
tree | 1a00b589e7fb96f5cbfd9c4bfff1adaa26c362af | |
parent | score: Inline _Thread_Disable_dispatch() for SMP (diff) | |
download | rtems-d2ffb7dc7704f1762669a3f67722cc2597819816.tar.bz2 |
score: Add and use _Thread_Enable_dispatch_body()
Update #2273.
-rw-r--r-- | cpukit/score/include/rtems/score/threaddispatch.h | 9 | ||||
-rw-r--r-- | cpukit/score/src/threadenabledispatch.c | 4 |
2 files changed, 8 insertions, 5 deletions
diff --git a/cpukit/score/include/rtems/score/threaddispatch.h b/cpukit/score/include/rtems/score/threaddispatch.h index 7d25aedc72..aec436fb45 100644 --- a/cpukit/score/include/rtems/score/threaddispatch.h +++ b/cpukit/score/include/rtems/score/threaddispatch.h @@ -226,6 +226,12 @@ RTEMS_INLINE_ROUTINE void _Thread_Disable_dispatch( void ) } #endif +RTEMS_INLINE_ROUTINE void _Thread_Enable_dispatch_body( void ) +{ + if ( _Thread_Dispatch_decrement_disable_level() == 0 ) + _Thread_Dispatch(); +} + /** * This routine allows dispatching to occur again. If this is * the outer most dispatching critical section, then a dispatching @@ -240,8 +246,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Disable_dispatch( void ) RTEMS_INLINE_ROUTINE void _Thread_Enable_dispatch( void ) { RTEMS_COMPILER_MEMORY_BARRIER(); - if ( _Thread_Dispatch_decrement_disable_level() == 0 ) - _Thread_Dispatch(); + _Thread_Enable_dispatch_body(); } #endif diff --git a/cpukit/score/src/threadenabledispatch.c b/cpukit/score/src/threadenabledispatch.c index 541195311a..baf58a06d2 100644 --- a/cpukit/score/src/threadenabledispatch.c +++ b/cpukit/score/src/threadenabledispatch.c @@ -27,8 +27,6 @@ #if defined (__THREAD_DO_NOT_INLINE_ENABLE_DISPATCH__ ) void _Thread_Enable_dispatch( void ) { - if ( _Thread_Dispatch_decrement_disable_level() ) - return; - _Thread_Dispatch(); + _Thread_Enable_dispatch_body(); } #endif |