summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/spthreadlife01
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-17 15:43:31 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-05-20 07:49:41 +0200
commitdab902d5b2688fe958118299f7d44d1adbf13878 (patch)
treefa54fcf607d93dd03017f9d0eb1f82ca0f55aca4 /testsuites/sptests/spthreadlife01
parentscore: Avoid Giant _Objects_Extend_information() (diff)
downloadrtems-dab902d5b2688fe958118299f7d44d1adbf13878.tar.bz2
testsuites: Avoid Giant lock
Replace _Thread_Disable_dispatch() with _Thread_Dispatch_disable(). Replace _Thread_Enable_dispatch() with _Thread_Dispatch_enable(). This is a preparation to remove the Giant lock. Update #2555.
Diffstat (limited to 'testsuites/sptests/spthreadlife01')
-rw-r--r--testsuites/sptests/spthreadlife01/init.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/testsuites/sptests/spthreadlife01/init.c b/testsuites/sptests/spthreadlife01/init.c
index 7724635cd9..8bf26b9b72 100644
--- a/testsuites/sptests/spthreadlife01/init.c
+++ b/testsuites/sptests/spthreadlife01/init.c
@@ -232,6 +232,7 @@ static void worker_task(rtems_task_argument arg)
test_state state = ctx->current;
rtems_status_code sc;
Thread_Life_state previous_thread_life_state;
+ Per_CPU_Control *cpu_self;
switch (state) {
case SET_PRIO:
@@ -272,22 +273,22 @@ static void worker_task(rtems_task_argument arg)
assert_priority(PRIO_HIGH);
break;
case SET_PROTECTION:
- _Thread_Disable_dispatch();
+ cpu_self = _Thread_Dispatch_disable();
previous_thread_life_state =
_Thread_Set_life_protection(THREAD_LIFE_PROTECTED);
rtems_test_assert(
(previous_thread_life_state & THREAD_LIFE_PROTECTED) == 0
);
- _Thread_Enable_dispatch();
+ _Thread_Dispatch_enable(cpu_self);
break;
case CLEAR_PROTECTION:
- _Thread_Disable_dispatch();
+ cpu_self = _Thread_Dispatch_disable();
previous_thread_life_state = _Thread_Set_life_protection(0);
rtems_test_assert(
(previous_thread_life_state & THREAD_LIFE_PROTECTED) != 0
);
ctx->current = DELETE_4;
- _Thread_Enable_dispatch();
+ _Thread_Dispatch_enable(cpu_self);
break;
case DELETE_SELF:
ctx->current = DELETE_7;