summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/isr.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/include/rtems/score/isr.h')
-rw-r--r--cpukit/score/include/rtems/score/isr.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h
index 1359e91fd8..362ef05489 100644
--- a/cpukit/score/include/rtems/score/isr.h
+++ b/cpukit/score/include/rtems/score/isr.h
@@ -159,7 +159,12 @@ void _ISR_Handler_initialization ( void );
* routine exits.
*/
#define _ISR_Set_level( _new_level ) \
- _CPU_ISR_Set_level( _new_level )
+ do { \
+ RTEMS_COMPILER_MEMORY_BARRIER(); \
+ _CPU_ISR_Set_level( _new_level ); \
+ RTEMS_COMPILER_MEMORY_BARRIER(); \
+ } while (0)
+
/**
* This routine is the interrupt dispatcher. ALL interrupts