X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fkern%2Fproc.h;h=f8de758ffeec511879400f20d750311d3b3c992b;hb=84c1846c483f7ddad5804c555c7e0d207f8d1ddc;hp=6f1a8af5be69c463a860e760fcebb53f31b835fb;hpb=0eeba5822b3ff0e76ae0fd0272536d371d272d7d;p=bertos.git diff --git a/bertos/kern/proc.h b/bertos/kern/proc.h index 6f1a8af5..f8de758f 100644 --- a/bertos/kern/proc.h +++ b/bertos/kern/proc.h @@ -46,6 +46,7 @@ #endif #include // cpustack_t +#include // CPU_SAVED_REGS_CNT /* * Forward declaration. The definition of struct Process is private to the @@ -84,6 +85,9 @@ const char *proc_currentName(void); } #endif +/** Global preemption disable nesting counter. */ +extern int preempt_forbid_cnt; + /** * Disable preemptive task switching. * @@ -105,7 +109,6 @@ INLINE void proc_forbid(void) { #if CONFIG_KERN_PREEMPT // No need to protect against interrupts here. - extern int preempt_forbid_cnt; ++preempt_forbid_cnt; /* @@ -132,7 +135,6 @@ INLINE void proc_permit(void) MEMORY_BARRIER; /* No need to protect against interrupts here. */ - extern int preempt_forbid_cnt; --preempt_forbid_cnt; ASSERT(preempt_forbid_cnt >= 0); @@ -145,7 +147,6 @@ INLINE void proc_permit(void) #endif } - /** * Execute a block of \a CODE atomically with respect to task scheduling. */