Attempt to automatize the creation of the mk files
[bertos.git] / bertos / kern / proc.c
index 26bac5e1c47c0bf55f68f69decbe351ee2a8be28..25d410df0b2eaeb977acea069ce5e2b33488b955 100644 (file)
@@ -41,7 +41,8 @@
 #include "proc.h"
 
 #include "cfg/cfg_arch.h"  // ARCH_EMUL
-#include "cfg/cfg_kern.h"
+#include "cfg/cfg_proc.h"
+#include "cfg/cfg_monitor.h"
 #include <cfg/macros.h>    // ROUND_UP2
 #include <cfg/module.h>
 #include <cfg/depend.h>    // CONFIG_DEPEND()
 
 #include <string.h>           /* memset() */
 
-// Check config dependencies
-CONFIG_DEPEND(CONFIG_KERN_SIGNALS,    CONFIG_KERN_SCHED);
-CONFIG_DEPEND(CONFIG_KERN_SEMAPHORES, CONFIG_KERN_SIGNALS);
-CONFIG_DEPEND(CONFIG_KERN_MONITOR,    CONFIG_KERN_SCHED);
-
-
 /*
  * The scheduer tracks ready processes by enqueuing them in the
  * ready list.
@@ -323,9 +318,9 @@ void proc_setPri(struct Process *proc, int pri)
 
                if (proc != CurrentProcess)
                {
-                               //proc_forbid();
-                               //TODO: re-enqueue process
-                               //pric_permit();
+                               proc_forbid();
+                               ATOMIC(sched_reenqueue(proc));
+                               proc_permit();
                }
 }
 #endif // CONFIG_KERN_PRI