]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/atm128/atm128hardware.h
ensure visibility of atomic statement effects
[tinyos-2.x.git] / tos / chips / atm128 / atm128hardware.h
index cfc7eaf7f372ce17ef5c38c0dbaf1a5898878611..3e4bb03094a572b87d0e10ab43b96156219635d4 100644 (file)
@@ -104,6 +104,7 @@ __nesc_atomic_start(void) @spontaneous()
 {
     __nesc_atomic_t result = SREG;
     __nesc_disable_interrupt();
+    asm volatile("" : : : "memory"); /* ensure atomic section effect visibility */
     return result;
 }
 
@@ -111,6 +112,7 @@ __nesc_atomic_start(void) @spontaneous()
 inline void 
 __nesc_atomic_end(__nesc_atomic_t original_SREG) @spontaneous()
 {
+  asm volatile("" : : : "memory"); /* ensure atomic section effect visibility */
   SREG = original_SREG;
 }
 #endif