diff options
Diffstat (limited to 'c/src/librtems++/src')
-rw-r--r-- | c/src/librtems++/src/rtemsInterrupt.cc | 6 |
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++) |