summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/include
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-28 18:28:24 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-11-28 18:28:24 +0000
commit89ee0b6936efb5371ec54c2bb37a0dbd492d0a98 (patch)
treefa9676c30496a4b846101bf8175b0e4ccfae2473 /c/src/exec/score/include
parent2001-11-28 Joel Sherrill <joel@OARcorp.com>, (diff)
downloadrtems-89ee0b6936efb5371ec54c2bb37a0dbd492d0a98.tar.bz2
2001-11-28 Joel Sherrill <joel@OARcorp.com>,
This was tracked as PR91. * include/rtems/score/isr.h, inline/rtems/score/isr.inl, macros/rtems/score/isr.inl: Modified to allow any port to provide its own implementation of the macro _ISR_Is_in_progress. If the port overrides this macro, it must provide a non-inlined function implementation.
Diffstat (limited to 'c/src/exec/score/include')
-rw-r--r--c/src/exec/score/include/rtems/score/isr.h18
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