X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=kern%2Fproc.h;h=a481fcbf4ee201e3caf7c59c323567447e556ca8;hb=0ae1a254c74788c7e22f22dcfe9be5a02ec6b270;hp=3e73d493d246ecac4b8279d7f53098de128b84bc;hpb=0168eb0bee0da568cd3ea8f8dfffa9343175efd9;p=bertos.git diff --git a/kern/proc.h b/kern/proc.h index 3e73d493..a481fcbf 100755 --- a/kern/proc.h +++ b/kern/proc.h @@ -15,6 +15,9 @@ /*#* *#* $Log$ + *#* Revision 1.7 2004/10/19 08:54:55 bernie + *#* Define forbid_cnt. + *#* *#* Revision 1.6 2004/10/03 20:44:18 bernie *#* Remove stale declarations (moved to monitor.h). *#* @@ -51,14 +54,25 @@ void proc_switch(void); void proc_test(void); struct Process* proc_current(void); IPTR proc_current_user_data(void); +void proc_rename(struct Process* proc, const char* name); #if CONFIG_KERN_PREEMPTIVE - #define FORBID proc_forbid() - #define PERMIT proc_permit() + void proc_forbid(void); + void proc_permit(void); #else - #define FORBID - #define PERMIT + INLINE void proc_forbid(void) { /* nop */ } + INLINE void proc_permit(void) { /* nop */ } #endif +/*! + * Execute a block of \a CODE atomically with respect to task scheduling. + */ +#define PROC_ATOMIC(CODE) \ + do { \ + proc_forbid(); \ + CODE; \ + proc_permit(); \ + } while(0) + #endif /* KERN_PROC_H */