Go to the source code of this file.
Defines | |
#define | AtomicInc(p) (++(*p)) |
#define | AtomicDec(p) (--(*p)) |
#define | NutEnterCritical() |
#define | NutExitCritical() |
#define | NutJumpOutCritical() NutExitCritical() |
Variables | |
u_short | main_cs_level |
sigset_t | irq_signal |
pthread_cond_t | irq_cv |
u_short | int_disabled |
FILE * | __os_trs |
u_char | __os_trf |
#define NutEnterCritical | ( | void | ) |
Value:
pthread_sigmask(SIG_BLOCK, &irq_signal, 0); \ int_disabled = 1; \ if (runningThread) { \ runningThread->td_cs_level++; \ } else { \ main_cs_level++; \ } \ pthread_sigmask(SIG_UNBLOCK, &irq_signal, 0);
#define NutExitCritical | ( | void | ) |
Value:
pthread_sigmask(SIG_BLOCK, &irq_signal, 0); \ if (runningThread) { \ if (--runningThread->td_cs_level == 0) { \ int_disabled = 0; \ pthread_cond_signal(&irq_cv); \ } \ } else { \ if (--main_cs_level == 0) { \ int_disabled = 0; \ pthread_cond_signal(&irq_cv); \ } \ } \ pthread_sigmask(SIG_UNBLOCK, &irq_signal, 0);
sigset_t irq_signal |
pthread_cond_t irq_cv |