diff options
Diffstat (limited to 'cpukit/score/inline/rtems')
-rw-r--r-- | cpukit/score/inline/rtems/score/thread.inl | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/cpukit/score/inline/rtems/score/thread.inl b/cpukit/score/inline/rtems/score/thread.inl index b2806385ab..272c14fdf2 100644 --- a/cpukit/score/inline/rtems/score/thread.inl +++ b/cpukit/score/inline/rtems/score/thread.inl @@ -76,8 +76,12 @@ */ RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_increment_disable_level(void) { - _Thread_Dispatch_disable_level++; - return _Thread_Dispatch_disable_level; + uint32_t level = _Thread_Dispatch_disable_level; + + ++level; + _Thread_Dispatch_disable_level = level; + + return level; } /** @brief _Thread_Dispatch_decrement_disable_level @@ -86,8 +90,12 @@ */ RTEMS_INLINE_ROUTINE uint32_t _Thread_Dispatch_decrement_disable_level(void) { - _Thread_Dispatch_disable_level--; - return _Thread_Dispatch_disable_level; + uint32_t level = _Thread_Dispatch_disable_level; + + --level; + _Thread_Dispatch_disable_level = level; + + return level; } /** @brief _Thread_Dispatch_initialization |