Merge branch "preempt" in "trunk".
[bertos.git] / bertos / cpu / power.h
index 035495d47811aa1016bf2f41d56dd36046b04813..d73eb621a785ef17629ff03e25748820983d476f 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"
 
-#if CONFIG_KERNEL
+#if CONFIG_KERN
        #include <kern/proc.h>
 #endif
 
@@ -66,8 +66,9 @@
  */
 INLINE void cpu_relax(void)
 {
-#if CONFIG_KERNEL
-       proc_yield();
+#if CONFIG_KERN
+       if (proc_preemptAllowed())
+               proc_yield();
 #endif
 
 #if CONFIG_WATCHDOG