Synopsis
#include <ctl_api.h> void ctl_exit_isr(void *savedRegisters);
Description
The ctl_exit_isr function must be jumped to from an interrupt service routine with global interrupts disabled. This function will decrement the ctl_interrupt_count variable and if zero it will check if a task switch is required. The savedRegisters parameter points to the registers saved on the stack on entry to the interrupt service routine. If a task switch is needed then the register state in savedRegisters will be stored in the ctl_task_executing and a new task will be made the executing task. If a context switch isn’t required or the ctl_interrupt_count is non-zero then the register state in savedRegisters is restored and the interrupt handler returns.
Restrictions
This function should only be invoked by an interrupt service routine.Portability
ctl_exit_isr is provided in every implementation of the CrossWorks tasking library.