#include <pthread.h>#include <signal.h>#include <sys/thread.h>#include <stdio.h>#include <stdlib.h>
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 | |
| uint16_t | main_cs_level |
| sigset_t | irq_signal |
| pthread_cond_t | irq_cv |
| uint16_t | int_disabled |
| FILE * | __os_trs |
| uint8_t | __os_trf |
| #define NutEnterCritical | ( | void | ) |
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 | ) |
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 |
Definition at line 93 of file osdebug.c.
Referenced by NutThreadCreate(), and NutTraceOs().
Definition at line 94 of file osdebug.c.
Referenced by NutThreadCreate(), and NutTraceOs().