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>
|
2009-07-06 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||||
|
|
||||||
* score/src/coremsgsubmit.c: Move impossible case inside an RTEMS_DEBUG
|
* 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_algorithm = THREAD_CPU_BUDGET_ALGORITHM_NONE;
|
||||||
*budget_callout = NULL;
|
*budget_callout = NULL;
|
||||||
|
|
||||||
switch ( policy ) {
|
if ( policy == SCHED_OTHER ) {
|
||||||
case SCHED_OTHER:
|
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE;
|
||||||
*budget_algorithm = THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE;
|
return 0;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
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