summaryrefslogtreecommitdiffstats
path: root/testsuites/tmtests/tm27/task1.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-08-01 13:49:15 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-08-01 16:45:44 +0200
commit09c00eea70a9d62ba84a13f891540f8387ad2d2d (patch)
tree16a022e1a0faaa5f2605d841d8d7aa77293be7d0 /testsuites/tmtests/tm27/task1.c
parentscore: Add and use ISR locks (diff)
downloadrtems-09c00eea70a9d62ba84a13f891540f8387ad2d2d.tar.bz2
tmtests/tm27: Fixes for RTEMS_DEBUG
Diffstat (limited to 'testsuites/tmtests/tm27/task1.c')
-rw-r--r--testsuites/tmtests/tm27/task1.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/testsuites/tmtests/tm27/task1.c b/testsuites/tmtests/tm27/task1.c
index cdb81a49d4..fac889c1f3 100644
--- a/testsuites/tmtests/tm27/task1.c
+++ b/testsuites/tmtests/tm27/task1.c
@@ -99,6 +99,9 @@ rtems_task Task_1(
rtems_task_argument argument
)
{
+#if defined(RTEMS_SMP)
+ rtems_interrupt_level level;
+#endif
Chain_Control *ready_queues;
Install_tm27_vector( Isr_handler );
@@ -180,12 +183,20 @@ rtems_task Task_1(
_Thread_Dispatch_set_disable_level( 0 );
+#if defined(RTEMS_SMP)
+ rtems_interrupt_disable(level);
+#endif
+
ready_queues = (Chain_Control *) _Scheduler.information;
_Thread_Executing =
(Thread_Control *) _Chain_First(&ready_queues[LOW_PRIORITY]);
_Thread_Dispatch_necessary = 1;
+#if defined(RTEMS_SMP)
+ rtems_interrupt_enable(level);
+#endif
+
Interrupt_occurred = 0;
benchmark_timer_initialize();
Cause_tm27_intr();
@@ -210,6 +221,9 @@ rtems_task Task_2(
rtems_task_argument argument
)
{
+#if defined(RTEMS_SMP)
+ rtems_interrupt_level level;
+#endif
Chain_Control *ready_queues;
#if (MUST_WAIT_FOR_INTERRUPT == 1)
@@ -241,12 +255,20 @@ rtems_task Task_2(
_Thread_Dispatch_set_disable_level( 0 );
+#if defined(RTEMS_SMP)
+ rtems_interrupt_disable(level);
+#endif
+
ready_queues = (Chain_Control *) _Scheduler.information;
_Thread_Executing =
(Thread_Control *) _Chain_First(&ready_queues[LOW_PRIORITY]);
_Thread_Dispatch_necessary = 1;
+#if defined(RTEMS_SMP)
+ rtems_interrupt_enable(level);
+#endif
+
_Thread_Dispatch();
}