X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fkern%2Fproc_p.h;h=2b6855497da888086d113da6569ff19a7c61b0af;hb=705e92ca3e6a5bd0223f21a8fd9ac714f3253a5f;hp=5469dfcdf0408c5d63ef6e13bdbfe6dd4286dbad;hpb=d6f66b0496d96877fbcaea3751d4865729ad2aaa;p=bertos.git diff --git a/bertos/kern/proc_p.h b/bertos/kern/proc_p.h index 5469dfcd..2b685549 100644 --- a/bertos/kern/proc_p.h +++ b/bertos/kern/proc_p.h @@ -33,7 +33,6 @@ * * \brief Internal scheduler structures and definitions for processes. * - * \version $Id$ * \author Bernie Innocenti */ @@ -79,6 +78,13 @@ extern REGISTER Process *current_process; extern REGISTER List proc_ready_list; #if CONFIG_KERN_PRI +# if CONFIG_KERN_PRI_INHERIT + #define __prio_orig(proc) (proc->orig_pri) + #define __prio_inh(proc) (LIST_EMPTY(&(proc)->inh_list) ? INT_MIN : \ + ((PriNode *)LIST_HEAD(&proc->inh_list))->pri) + #define __prio_proc(proc) (__prio_inh(proc) > __prio_orig(proc) ? \ + __prio_inh(proc) : __prio_orig(proc)) +# endif #define prio_next() (LIST_EMPTY(&proc_ready_list) ? INT_MIN : \ ((PriNode *)LIST_HEAD(&proc_ready_list))->pri) #define prio_proc(proc) (proc->link.pri)