Update preset.
[bertos.git] / bertos / cpu / power.h
index 93c40c0394936d09552074b905eb423e9b4113aa..f161c698f40ebf14f261d4b77323138e45f98cfb 100644 (file)
@@ -40,6 +40,8 @@
 #include "cfg/cfg_proc.h"
 #include "cfg/cfg_wdt.h"
 
+#include <cfg/compiler.h>
+
 #if CONFIG_KERN
        #include <kern/proc.h>
 #endif
  */
 INLINE void cpu_relax(void)
 {
+       MEMORY_BARRIER;
 #if CONFIG_KERN
-       proc_yield();
+       if (proc_preemptAllowed())
+               proc_yield();
 #endif
 
 #if CONFIG_WATCHDOG