summaryrefslogtreecommitdiffstats
path: root/c/src/librtems++
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2009-08-06 04:00:27 +0000
committerChris Johns <chrisj@rtems.org>2009-08-06 04:00:27 +0000
commitb9ff10f310fd311c5793b95732c2eb6b4b1b155e (patch)
tree94071f02b8b37f548205b19663a58cd42d5ea69d /c/src/librtems++
parent2009-08-06 Chris Johns <chrisj@rtems.org> (diff)
downloadrtems-b9ff10f310fd311c5793b95732c2eb6b4b1b155e.tar.bz2
2009-08-06 Chris Johns <chrisj@rtems.org>
* src/rtemsInterrupt.cc: Fixed the code to compile on targets with CPU_SIMPLE_VECTORED_INTERRUPTS defined to true.
Diffstat (limited to 'c/src/librtems++')
-rw-r--r--c/src/librtems++/ChangeLog5
-rw-r--r--c/src/librtems++/src/rtemsInterrupt.cc10
2 files changed, 13 insertions, 2 deletions
diff --git a/c/src/librtems++/ChangeLog b/c/src/librtems++/ChangeLog
index 6c64385cbc..ceccfe9f34 100644
--- a/c/src/librtems++/ChangeLog
+++ b/c/src/librtems++/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-06 Chris Johns <chrisj@rtems.org>
+
+ * src/rtemsInterrupt.cc: Fixed the code to compile on targets with
+ CPU_SIMPLE_VECTORED_INTERRUPTS defined to true.
+
2008-12-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* include/rtems++/rtemsEvent.h, include/rtems++/rtemsMessageQueue.h,
diff --git a/c/src/librtems++/src/rtemsInterrupt.cc b/c/src/librtems++/src/rtemsInterrupt.cc
index 21b875b414..6d92d592f4 100644
--- a/c/src/librtems++/src/rtemsInterrupt.cc
+++ b/c/src/librtems++/src/rtemsInterrupt.cc
@@ -75,10 +75,13 @@ const rtems_status_code rtemsInterrupt::isr_catch(const rtems_vector_number vec)
interrupt_table[vec] = this;
vector = vec;
+#if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE)
set_status_code(rtems_interrupt_catch(redirector,
vector,
&old_handler));
-
+#else
+ set_status_code(RTEMS_NOT_DEFINED);
+#endif
if (successful())
caught = true;
else
@@ -96,10 +99,13 @@ const rtems_status_code rtemsInterrupt::release(void)
{
if (caught)
{
+#if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE)
set_status_code(rtems_interrupt_catch(old_handler,
vector,
&old_handler));
-
+#else
+ set_status_code(RTEMS_NOT_DEFINED);
+#endif
interrupt_table[vector] = old_interrupt;
old_interrupt = 0;
old_handler = 0;