summaryrefslogtreecommitdiffstats
path: root/testsuites/tmtests/tm27/task1.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-04 13:19:11 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-07 07:39:41 +0100
commitedbd43c6132ddb0644bd302c6017b52168e57857 (patch)
tree7b2e743bc285a57ccfae259bda9de42f21d4dc51 /testsuites/tmtests/tm27/task1.c
parentscore: Add <rtems/score/cpuimpl.h> (diff)
downloadrtems-edbd43c6132ddb0644bd302c6017b52168e57857.tar.bz2
score: Prevent assignment to _Thread_Executing
Diffstat (limited to 'testsuites/tmtests/tm27/task1.c')
-rw-r--r--testsuites/tmtests/tm27/task1.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/testsuites/tmtests/tm27/task1.c b/testsuites/tmtests/tm27/task1.c
index 9126391d59..c89c0956f1 100644
--- a/testsuites/tmtests/tm27/task1.c
+++ b/testsuites/tmtests/tm27/task1.c
@@ -46,6 +46,11 @@ rtems_isr Isr_handler(
rtems_vector_number vector
);
+static void set_thread_executing( Thread_Control *thread )
+{
+ _Per_CPU_Get_snapshot()->executing = thread;
+}
+
rtems_task Init(
rtems_task_argument argument
)
@@ -191,8 +196,9 @@ rtems_task Task_1(
_ISR_Local_disable(level);
#endif
- _Thread_Executing =
- (Thread_Control *) _Chain_First(&scheduler_context->Ready[LOW_PRIORITY]);
+ set_thread_executing(
+ (Thread_Control *) _Chain_First(&scheduler_context->Ready[LOW_PRIORITY])
+ );
_Thread_Dispatch_necessary = 1;
@@ -265,8 +271,9 @@ rtems_task Task_2(
_Thread_State_acquire( executing, &state_lock_context );
_Scheduler_Acquire_critical( scheduler, &scheduler_lock_context );
- _Thread_Executing =
- (Thread_Control *) _Chain_First(&scheduler_context->Ready[LOW_PRIORITY]);
+ set_thread_executing(
+ (Thread_Control *) _Chain_First(&scheduler_context->Ready[LOW_PRIORITY])
+ );
_Thread_Dispatch_necessary = 1;