]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/msp430/msp430hardware.h
ensure visibility of atomic statement effects
[tinyos-2.x.git] / tos / chips / msp430 / msp430hardware.h
index 9d0cedd87662664b5af6f38f5019666ef1f72d4b..f25590227755246597c673a51a4f47a6ab1d1491 100644 (file)
@@ -211,11 +211,13 @@ __nesc_atomic_t __nesc_atomic_start(void) @spontaneous()
 {
   __nesc_atomic_t result = ((READ_SR & SR_GIE) != 0);
   __nesc_disable_interrupt();
+  asm volatile("" : : : "memory"); /* ensure atomic section effect visibility */
   return result;
 }
 
 void __nesc_atomic_end(__nesc_atomic_t reenable_interrupts) @spontaneous()
 {
+  asm volatile("" : : : "memory"); /* ensure atomic section effect visibility */
   if( reenable_interrupts )
     __nesc_enable_interrupt();
 }