From 2f5ac5b5075e2efe8fc2cdbf151ee36939e82003 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Nov 2016 15:26:52 +0100 Subject: rtems: Fix rtems_task_create() scheduler selection Use the home scheduler of the executing thread for the created thread. This is in line with pthread_create(). Using the current processor may pick up an unexpected scheduler in case of a temporary migration, e.g. due to locking protocols. --- cpukit/rtems/src/taskcreate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cpukit/rtems') diff --git a/cpukit/rtems/src/taskcreate.c b/cpukit/rtems/src/taskcreate.c index e231d4a0c3..26953828e9 100644 --- a/cpukit/rtems/src/taskcreate.c +++ b/cpukit/rtems/src/taskcreate.c @@ -90,7 +90,7 @@ rtems_status_code rtems_task_create( } } - scheduler = _Scheduler_Get_by_CPU_index( _SMP_Get_current_processor() ); + scheduler = _Thread_Scheduler_get_home( _Thread_Get_executing() ); priority = _RTEMS_Priority_To_core( scheduler, initial_priority, &valid ); if ( !valid ) { -- cgit v1.2.3