Interrupts namespace. More...
Classes | |
| class | critical_section |
| Interrupts critical section RAII helper. More... | |
| class | lockable |
| Interrupts standard locker. More... | |
| class | uncritical_section |
| Interrupts critical section RAII helper. More... | |
Typedefs | |
| using | state_t = port::interrupts::state_t |
| Type of variables holding interrupts status codes. | |
Functions | |
| bool | in_handler_mode (void) |
| Check if the CPU is in handler mode. | |
| class thread::stack * | stack (void) |
| Get the interrupts stack. | |
The os::rtos::interrupts namespace groups interrupts related types and enumerations.
| using os::rtos::interrupts::state_t = typedef port::interrupts::state_t |
Usually an integer large enough to hold the CPU register where the interrupt priorities are stored.
Used to temporarily store the CPU register during critical sections.
Definition at line 242 of file os-decls.h.
|
inline |
| true | Execution is in an exception handler context. |
| false | Execution is in a thread context. |
Definition at line 1101 of file os-sched.h.
References os::rtos::port::interrupts::in_handler_mode().
Referenced by os::rtos::event_flags::event_flags(), os::rtos::mutex::mutex(), os::rtos::timer::timer(), os::rtos::memory_pool::alloc(), calloc(), os::rtos::thread::cancel(), os::rtos::mutex::consistent(), os::rtos::thread::detach(), free(), os::rtos::scheduler::initialize(), os::rtos::thread::join(), os::rtos::thread::kill(), os::rtos::mutex::lock(), malloc(), os::rtos::internal::object_named_system::operator delete(), os::rtos::internal::object_named_system::operator new(), operator new(), os_irq_in_handler_mode(), osDelay(), osKernelInitialize(), osMutexCreate(), osMutexDelete(), osMutexRelease(), osMutexWait(), osSignalClear(), osSignalWait(), osThreadCreate(), osThreadGetId(), osThreadGetPriority(), osThreadSetPriority(), osThreadTerminate(), osThreadYield(), osTimerCreate(), osTimerDelete(), osTimerStart(), osTimerStop(), os::rtos::scheduler::preemptive(), os::rtos::mutex::prio_ceiling(), os::rtos::mutex::prio_ceiling(), os::rtos::thread::priority(), os::rtos::thread::priority_inherited(), os::rtos::thread::priority_inherited(), realloc(), os::rtos::message_queue::receive(), os::rtos::memory_pool::reset(), os::rtos::message_queue::reset(), os::rtos::mutex::reset(), os::rtos::semaphore::reset(), os::rtos::message_queue::send(), os::rtos::clock::sleep_for(), os::rtos::clock::sleep_until(), os::rtos::timer::start(), os::rtos::scheduler::start(), os::rtos::timer::stop(), os::rtos::this_thread::thread(), os::rtos::memory_pool::timed_alloc(), os::rtos::mutex::timed_lock(), os::rtos::message_queue::timed_receive(), os::rtos::message_queue::timed_send(), os::rtos::semaphore::timed_wait(), os::rtos::event_flags::timed_wait(), os::rtos::mutex::try_lock(), os::rtos::mutex::unlock(), os::rtos::event_flags::wait(), os::rtos::semaphore::wait(), os::rtos::clock::wait_for(), and os::rtos::this_thread::yield().