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/psxpriorityisvalid.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/psxpriorityisvalid.c')
-rw-r--r-- | cpukit/posix/src/psxpriorityisvalid.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/cpukit/posix/src/psxpriorityisvalid.c b/cpukit/posix/src/psxpriorityisvalid.c index ea7f6f4382..22c4ac0b87 100644 --- a/cpukit/posix/src/psxpriorityisvalid.c +++ b/cpukit/posix/src/psxpriorityisvalid.c @@ -29,12 +29,20 @@ int _POSIX_Priority_Get_maximum( const Scheduler_Control *scheduler ) } } -bool _POSIX_Priority_Is_valid( +Priority_Control _POSIX_Priority_To_core( const Scheduler_Control *scheduler, - int priority + int posix_priority, + bool *valid ) { - return priority >= POSIX_SCHEDULER_MINIMUM_PRIORITY - && (Priority_Control) priority < scheduler->maximum_priority; -} + Priority_Control core_posix_priority; + Priority_Control core_priority; + + core_posix_priority = (Priority_Control) posix_priority; + core_priority = scheduler->maximum_priority - core_posix_priority; + *valid = ( posix_priority >= POSIX_SCHEDULER_MINIMUM_PRIORITY + && core_posix_priority < scheduler->maximum_priority ); + + return core_priority; +} |