summaryrefslogtreecommitdiffstats
path: root/c/src/librtems++/src
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/librtems++/src')
-rw-r--r--c/src/librtems++/src/rtemsInterrupt.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/c/src/librtems++/src/rtemsInterrupt.cc b/c/src/librtems++/src/rtemsInterrupt.cc
index 4cd5d9afa9..923a9fd350 100644
--- a/c/src/librtems++/src/rtemsInterrupt.cc
+++ b/c/src/librtems++/src/rtemsInterrupt.cc
@@ -27,7 +27,7 @@
object
*/
-static rtemsInterrupt *interrupt_table[CPU_INTERRUPT_NUMBER_OF_VECTORS];
+static rtemsInterrupt **interrupt_table;
// has the table been initialised
static bool initialised = false;
@@ -36,6 +36,8 @@ static bool initialised = false;
rtemsInterrupt
*/
+#include <stdlib.h> /* for malloc */
+
rtemsInterrupt::rtemsInterrupt()
: vector(0),
caught(false),
@@ -44,6 +46,8 @@ rtemsInterrupt::rtemsInterrupt()
{
if (!initialised)
{
+ interrupt_table = (rtemsInterrupt **)
+ malloc(sizeof(rtemsInterrupt *) * CPU_INTERRUPT_NUMBER_OF_VECTORS);
for (rtems_vector_number vec = 0;
vec < CPU_INTERRUPT_NUMBER_OF_VECTORS;
vec++)