diff options
Diffstat (limited to 'c/src/exec/score/include/rtems/score/isr.h')
-rw-r--r-- | c/src/exec/score/include/rtems/score/isr.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/c/src/exec/score/include/rtems/score/isr.h b/c/src/exec/score/include/rtems/score/isr.h index 84052339f1..276e9dada5 100644 --- a/c/src/exec/score/include/rtems/score/isr.h +++ b/c/src/exec/score/include/rtems/score/isr.h @@ -220,6 +220,24 @@ void _ISR_Handler( void ); void _ISR_Dispatch( void ); +/*PAGE + * + * _ISR_Is_in_progress + * + * DESCRIPTION: + * + * This function returns TRUE if the processor is currently servicing + * and interrupt and FALSE otherwise. A return value of TRUE indicates + * that the caller is an interrupt service routine, NOT a thread. The + */ + +#if (CPU_PROVIDES_ISR_IS_IN_PROGRESS == TRUE) +boolean _ISR_Is_in_progress( void ); +#else +#define _ISR_Is_in_progress() \ + (_ISR_Nest_level != 0) +#endif + #include <rtems/score/isr.inl> #ifdef __cplusplus |