diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-09-11 15:35:52 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-09-11 15:35:52 +0000 |
commit | 442eac699df1468fff4cfb2ff44b4cac5bfaac84 (patch) | |
tree | 77cb58ce5d870b617112757c1d51e7dec59bb8a1 /cpukit/score/src | |
parent | New. (diff) | |
download | rtems-442eac699df1468fff4cfb2ff44b4cac5bfaac84.tar.bz2 |
2009-09-11 Joel Sherrill <joel.sherrill@OARcorp.com>
* score/include/rtems/score/thread.h, score/src/threadhandler.c,
score/src/threadinitialize.c, score/src/threadtickletimeslice.c:
Disable thread protocol and scheduling capabilities not exercised
when POSIX or ITRON API is disabled.
Diffstat (limited to 'cpukit/score/src')
-rw-r--r-- | cpukit/score/src/threadhandler.c | 13 | ||||
-rw-r--r-- | cpukit/score/src/threadinitialize.c | 14 | ||||
-rw-r--r-- | cpukit/score/src/threadtickletimeslice.c | 14 |
3 files changed, 26 insertions, 15 deletions
diff --git a/cpukit/score/src/threadhandler.c b/cpukit/score/src/threadhandler.c index 762e26c82b..cf39656487 100644 --- a/cpukit/score/src/threadhandler.c +++ b/cpukit/score/src/threadhandler.c @@ -149,12 +149,15 @@ void _Thread_Handler( void ) (*(Thread_Entry_numeric) executing->Start.entry_point)( executing->Start.numeric_argument ); - } else if ( executing->Start.prototype == THREAD_START_POINTER ) { - executing->Wait.return_argument = - (*(Thread_Entry_pointer) executing->Start.entry_point)( - executing->Start.pointer_argument - ); } + #if defined(RTEMS_POSIX_API) + else if ( executing->Start.prototype == THREAD_START_POINTER ) { + executing->Wait.return_argument = + (*(Thread_Entry_pointer) executing->Start.entry_point)( + executing->Start.pointer_argument + ); + } + #endif #if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API) else if ( executing->Start.prototype == THREAD_START_BOTH_POINTER_FIRST ) { executing->Wait.return_argument = diff --git a/cpukit/score/src/threadinitialize.c b/cpukit/score/src/threadinitialize.c index f4b9660526..c41983fc34 100644 --- a/cpukit/score/src/threadinitialize.c +++ b/cpukit/score/src/threadinitialize.c @@ -166,11 +166,15 @@ bool _Thread_Initialize( case THREAD_CPU_BUDGET_ALGORITHM_NONE: case THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE: break; - case THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE: - the_thread->cpu_time_budget = _Thread_Ticks_per_timeslice; - break; - case THREAD_CPU_BUDGET_ALGORITHM_CALLOUT: - break; + #if defined(RTEMS_SCORE_THREAD_ENABLE_EXHAUST_TIMESLICE) + case THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE: + the_thread->cpu_time_budget = _Thread_Ticks_per_timeslice; + break; + #endif + #if defined(RTEMS_SCORE_THREAD_ENABLE_SCHEDULER_CALLOUT) + case THREAD_CPU_BUDGET_ALGORITHM_CALLOUT: + break; + #endif } the_thread->Start.isr_level = isr_level; diff --git a/cpukit/score/src/threadtickletimeslice.c b/cpukit/score/src/threadtickletimeslice.c index c0e87e90ac..ab6469b3c3 100644 --- a/cpukit/score/src/threadtickletimeslice.c +++ b/cpukit/score/src/threadtickletimeslice.c @@ -76,16 +76,20 @@ void _Thread_Tickle_timeslice( void ) break; case THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE: - case THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE: + #if defined(RTEMS_SCORE_THREAD_ENABLE_EXHAUST_TIMESLICE) + case THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE: + #endif if ( (int)(--executing->cpu_time_budget) <= 0 ) { _Thread_Reset_timeslice(); executing->cpu_time_budget = _Thread_Ticks_per_timeslice; } break; - case THREAD_CPU_BUDGET_ALGORITHM_CALLOUT: - if ( --executing->cpu_time_budget == 0 ) - (*executing->budget_callout)( executing ); - break; + #if defined(RTEMS_SCORE_THREAD_ENABLE_SCHEDULER_CALLOUT) + case THREAD_CPU_BUDGET_ALGORITHM_CALLOUT: + if ( --executing->cpu_time_budget == 0 ) + (*executing->budget_callout)( executing ); + break; + #endif } } |