summaryrefslogtreecommitdiffstats
path: root/cpukit/score/inline/rtems/score/thread.inl
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/inline/rtems/score/thread.inl')
-rw-r--r--cpukit/score/inline/rtems/score/thread.inl16
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