X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fkern%2Fproc.h;h=6aec28d3ea5d1627cc20bf4118df2fc1c2dd41a4;hb=1f49e719b93b94993073d3b4abf2108452f71d01;hp=d4284ffd7210cb5af71451c61e3b2be6a872c228;hpb=e5cf108988c4259d52872a9cc17728a97fdb1201;p=bertos.git diff --git a/bertos/kern/proc.h b/bertos/kern/proc.h index d4284ffd..6aec28d3 100644 --- a/bertos/kern/proc.h +++ b/bertos/kern/proc.h @@ -30,10 +30,8 @@ * Copyright 1999, 2000, 2001, 2008 Bernie Innocenti * --> * - * \defgroup kern Kernel facilities - * \{ - * * \defgroup kern_proc Process (Threads) management + * \ingroup kern * \{ * * \brief BeRTOS Kernel core (Process scheduler). @@ -94,6 +92,7 @@ #ifndef KERN_PROC_H #define KERN_PROC_H +#include "sem.h" #include "cfg/cfg_proc.h" #include "cfg/cfg_signal.h" #include "cfg/cfg_monitor.h" @@ -117,6 +116,12 @@ typedef struct Process { #if CONFIG_KERN_PRI PriNode link; /**< Link Process into scheduler lists */ +# if CONFIG_KERN_PRI_INHERIT + PriNode inh_link; /**< Link Process into priority inheritance lists */ + List inh_list; /**< Priority inheritance list for this Process */ + Semaphore *inh_blocked_by; /**< Semaphore blocking this Process */ + int orig_pri; /**< Process priority without considering inheritance */ +# endif #else Node link; /**< Link Process into scheduler lists */ #endif @@ -124,8 +129,7 @@ typedef struct Process iptr_t user_data; /**< Custom data passed to the process */ #if CONFIG_KERN_SIGNALS - sigmask_t sig_wait; /**< Signals the process is waiting for */ - sigmask_t sig_recv; /**< Received signals */ + Signal sig; #endif #if CONFIG_KERN_HEAP @@ -448,6 +452,5 @@ INLINE struct Process *proc_current(void) #endif #endif /** \} */ //defgroup kern_proc -/** \} */ //defgroup kern #endif /* KERN_PROC_H */