diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-06-15 16:31:33 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-06-22 14:00:28 +0200 |
commit | 1a4eac500c9a2942f4aff7e27ccdfae3b99c4cb9 (patch) | |
tree | f43e5044a2b719a8cfc04cf58a5a31d620bd9eca /cpukit/posix/src/pthreadsetschedprio.c | |
parent | posix: Make POSIX API aware of scheduler instances (diff) | |
download | rtems-1a4eac500c9a2942f4aff7e27ccdfae3b99c4cb9.tar.bz2 |
posix: Generalize _POSIX_Priority_To_core()
Move POSIX API priority validation into _POSIX_Priority_To_core().
Diffstat (limited to 'cpukit/posix/src/pthreadsetschedprio.c')
-rw-r--r-- | cpukit/posix/src/pthreadsetschedprio.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/cpukit/posix/src/pthreadsetschedprio.c b/cpukit/posix/src/pthreadsetschedprio.c index dace70ad1f..fd77b6894a 100644 --- a/cpukit/posix/src/pthreadsetschedprio.c +++ b/cpukit/posix/src/pthreadsetschedprio.c @@ -33,6 +33,7 @@ static bool _POSIX_Set_sched_prio_filter( int prio; const Scheduler_Control *scheduler; POSIX_API_Control *api; + bool valid; Priority_Control current_priority; Priority_Control new_priority; @@ -40,12 +41,12 @@ static bool _POSIX_Set_sched_prio_filter( prio = context->prio; scheduler = _Scheduler_Get_own( the_thread ); - if ( !_POSIX_Priority_Is_valid( scheduler, prio ) ) { + new_priority = _POSIX_Priority_To_core( scheduler, prio, &valid ); + if ( !valid ) { context->error = EINVAL; return false; } - new_priority = _POSIX_Priority_To_core( scheduler, prio ); *new_priority_p = new_priority; current_priority = the_thread->current_priority; |