rtems: Simplify rtems_task_mode()

This commit is contained in:
Sebastian Huber
2013-06-11 17:09:02 +02:00
parent 6f8adb073b
commit 7a34ca371b

View File

@@ -42,8 +42,7 @@ rtems_status_code rtems_task_mode(
Thread_Control *executing; Thread_Control *executing;
RTEMS_API_Control *api; RTEMS_API_Control *api;
ASR_Information *asr; ASR_Information *asr;
bool is_asr_enabled = false; bool needs_asr_dispatching;
bool needs_asr_dispatching = false;
rtems_mode old_mode; rtems_mode old_mode;
if ( !previous_mode_set ) if ( !previous_mode_set )
@@ -69,7 +68,7 @@ rtems_status_code rtems_task_mode(
* These are generic thread scheduling characteristics. * These are generic thread scheduling characteristics.
*/ */
if ( mask & RTEMS_PREEMPT_MASK ) if ( mask & RTEMS_PREEMPT_MASK )
executing->is_preemptible = _Modes_Is_preempt(mode_set) ? true : false; executing->is_preemptible = _Modes_Is_preempt( mode_set );
if ( mask & RTEMS_TIMESLICE_MASK ) { if ( mask & RTEMS_TIMESLICE_MASK ) {
if ( _Modes_Is_timeslice(mode_set) ) { if ( _Modes_Is_timeslice(mode_set) ) {
@@ -88,11 +87,10 @@ rtems_status_code rtems_task_mode(
/* /*
* This is specific to the RTEMS API * This is specific to the RTEMS API
*/ */
is_asr_enabled = false;
needs_asr_dispatching = false; needs_asr_dispatching = false;
if ( mask & RTEMS_ASR_MASK ) { if ( mask & RTEMS_ASR_MASK ) {
is_asr_enabled = _Modes_Is_asr_disabled( mode_set ) ? false : true; bool is_asr_enabled = !_Modes_Is_asr_disabled( mode_set );
if ( is_asr_enabled != asr->is_enabled ) { if ( is_asr_enabled != asr->is_enabled ) {
asr->is_enabled = is_asr_enabled; asr->is_enabled = is_asr_enabled;
_ASR_Swap_signals( asr ); _ASR_Swap_signals( asr );