summaryrefslogtreecommitdiffstats
path: root/testsuites/smptests/smpscheduler03
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-10-10 14:01:55 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-11-02 10:05:40 +0100
commit2df4abcee2fd762a9688bef13e152d5b81cc763e (patch)
tree840277642e69e77c326aec7a4ff6322591cb1467 /testsuites/smptests/smpscheduler03
parentscore: Pass scheduler node to update priority op (diff)
downloadrtems-2df4abcee2fd762a9688bef13e152d5b81cc763e.tar.bz2
score: Pass scheduler node to yield operation
Changed for consistency with other scheduler operations. Update #2556.
Diffstat (limited to 'testsuites/smptests/smpscheduler03')
-rw-r--r--testsuites/smptests/smpscheduler03/init.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/testsuites/smptests/smpscheduler03/init.c b/testsuites/smptests/smpscheduler03/init.c
index f4506062bd..f9588a322d 100644
--- a/testsuites/smptests/smpscheduler03/init.c
+++ b/testsuites/smptests/smpscheduler03/init.c
@@ -320,7 +320,10 @@ static void test_update_priority_op(void)
rtems_test_assert(sc == RTEMS_SUCCESSFUL);
}
-static Thread_Control *yield_op(Thread_Control *thread)
+static Thread_Control *yield_op(
+ Thread_Control *thread,
+ Scheduler_SMP_Node *scheduler_node
+)
{
const Scheduler_Control *scheduler;
ISR_lock_Context state_lock_context;
@@ -331,7 +334,11 @@ static Thread_Control *yield_op(Thread_Control *thread)
scheduler = _Scheduler_Get( thread );
_Scheduler_Acquire_critical( scheduler, &scheduler_lock_context );
- needs_help = (*scheduler->Operations.yield)(scheduler, thread);
+ needs_help = (*scheduler->Operations.yield)(
+ scheduler,
+ thread,
+ &scheduler_node->Base
+ );
_Scheduler_Release_critical( scheduler, &scheduler_lock_context );
_Thread_State_release( thread, &state_lock_context );
@@ -391,7 +398,7 @@ static void test_case_yield_op(
}
rtems_test_assert(executing_node->state == start_state);
- needs_help = yield_op(executing);
+ needs_help = yield_op(executing, executing_node);
rtems_test_assert(executing_node->state == new_state);
if (start_state != new_state) {