Update preset.
[bertos.git] / bertos / cpu / power.h
index b4550ad6d0b4ba64f8d5b05dfca8113d65799670..f161c698f40ebf14f261d4b77323138e45f98cfb 100644 (file)
 #ifndef CPU_POWER_H
 #define CPU_POWER_H
 
-#include <cfg/cfg_kern.h>
-#include <cfg/cfg_wdt.h>
+#include "cfg/cfg_proc.h"
+#include "cfg/cfg_wdt.h"
+
+#include <cfg/compiler.h>
 
 #if CONFIG_KERN
        #include <kern/proc.h>
  */
 INLINE void cpu_relax(void)
 {
+       MEMORY_BARRIER;
 #if CONFIG_KERN
-       proc_yield();
+       if (proc_preemptAllowed())
+               proc_yield();
 #endif
 
 #if CONFIG_WATCHDOG