forked from Imagelibrary/rtems
2009-07-06 Joel Sherrill <joel.sherrill@OARcorp.com>
* posix/src/psxtransschedparam.c: Restructure to avoid untestable code being generated by switch.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2009-07-06 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||
|
||||
* posix/src/psxtransschedparam.c: Restructure to avoid untestable code
|
||||
being generated by switch.
|
||||
|
||||
2009-07-06 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||
|
||||
* score/src/coremsgsubmit.c: Move impossible case inside an RTEMS_DEBUG
|
||||
|
||||
@@ -33,33 +33,33 @@ int _POSIX_Thread_Translate_sched_param(
|
||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_NONE;
|
||||
*budget_callout = NULL;
|
||||
|
||||
switch ( policy ) {
|
||||
case SCHED_OTHER:
|
||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE;
|
||||
break;
|
||||
|
||||
case SCHED_FIFO:
|
||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_NONE;
|
||||
break;
|
||||
|
||||
case SCHED_RR:
|
||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE;
|
||||
break;
|
||||
|
||||
case SCHED_SPORADIC:
|
||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_CALLOUT;
|
||||
*budget_callout = _POSIX_Threads_Sporadic_budget_callout;
|
||||
|
||||
if ( _Timespec_To_ticks( ¶m->ss_replenish_period ) <
|
||||
_Timespec_To_ticks( ¶m->ss_initial_budget ) )
|
||||
return EINVAL;
|
||||
|
||||
if ( !_POSIX_Priority_Is_valid( param->ss_low_priority ) )
|
||||
return EINVAL;
|
||||
break;
|
||||
|
||||
default:
|
||||
return EINVAL;
|
||||
if ( policy == SCHED_OTHER ) {
|
||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE;
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
||||
if ( policy == SCHED_FIFO ) {
|
||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_NONE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ( policy == SCHED_RR ) {
|
||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ( policy == SCHED_SPORADIC ) {
|
||||
if ( _Timespec_To_ticks( ¶m->ss_replenish_period ) <
|
||||
_Timespec_To_ticks( ¶m->ss_initial_budget ) )
|
||||
return EINVAL;
|
||||
|
||||
if ( !_POSIX_Priority_Is_valid( param->ss_low_priority ) )
|
||||
return EINVAL;
|
||||
|
||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_CALLOUT;
|
||||
*budget_callout = _POSIX_Threads_Sporadic_budget_callout;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user