diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-11-02 06:36:13 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-11-09 15:27:29 +0100 |
commit | 2612a0bf5b9f0105315d62cbacfa9d29a5caa4b5 (patch) | |
tree | f27e6300271c5a5d47f6ef41a6d5c4780b715fc7 /testsuites | |
parent | score: Fix _MRSP_Initialize() (diff) | |
download | rtems-2612a0bf5b9f0105315d62cbacfa9d29a5caa4b5.tar.bz2 |
score: Simplify _Scheduler_Get_by_id()
Avoid dead code in non-SMP configurations. Return scheduler identifier
independent of the current processor count of the scheduler via
rtems_scheduler_ident(), since this value may change during run-time.
Check the processor count in _Scheduler_Set() under scheduler lock
protection.
Update #2797.
Diffstat (limited to 'testsuites')
-rw-r--r-- | testsuites/smptests/smpscheduler02/init.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/testsuites/smptests/smpscheduler02/init.c b/testsuites/smptests/smpscheduler02/init.c index 7708576ae9..1492d4c881 100644 --- a/testsuites/smptests/smpscheduler02/init.c +++ b/testsuites/smptests/smpscheduler02/init.c @@ -108,7 +108,7 @@ static void test(void) } sc = rtems_scheduler_ident(SCHED_C, &scheduler_c_id); - rtems_test_assert(sc == RTEMS_UNSATISFIED); + rtems_test_assert(sc == RTEMS_SUCCESSFUL); sc = rtems_semaphore_create( rtems_build_name('C', 'M', 'T', 'X'), @@ -182,13 +182,16 @@ static void test(void) rtems_test_assert(sched_get_priority_min(SCHED_RR) == 1); rtems_test_assert(sched_get_priority_max(SCHED_RR) == 254); + sc = rtems_task_set_scheduler(task_id, scheduler_c_id, 1); + rtems_test_assert(sc == RTEMS_UNSATISFIED); + + sc = rtems_task_set_scheduler(task_id, scheduler_c_id + 1, 1); + rtems_test_assert(sc == RTEMS_INVALID_ID); + if (cpu_count > 1) { sc = rtems_task_set_scheduler(task_id, scheduler_b_id, 1); rtems_test_assert(sc == RTEMS_SUCCESSFUL); - sc = rtems_task_set_scheduler(task_id, scheduler_b_id + 1, 1); - rtems_test_assert(sc == RTEMS_INVALID_ID); - sc = rtems_task_get_scheduler(task_id, &scheduler_id); rtems_test_assert(sc == RTEMS_SUCCESSFUL); rtems_test_assert(scheduler_id == scheduler_b_id); |