mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-25 12:47:29 +08:00
rtems: Fix rtems_task_mode()
A rtems_configuration_is_smp_enabled() inside a !defined( RTEMS_SMP) block makes no sense. Remove !defined( RTEMS_SMP ) conditions. Test tm04 works now again. Update #3000.
This commit is contained in:
@@ -88,18 +88,12 @@ rtems_status_code rtems_task_mode(
|
||||
* These are generic thread scheduling characteristics.
|
||||
*/
|
||||
preempt_enabled = false;
|
||||
#if !defined( RTEMS_SMP )
|
||||
if ( mask & RTEMS_PREEMPT_MASK ) {
|
||||
if ( rtems_configuration_is_smp_enabled() &&
|
||||
!_Modes_Is_preempt( mode_set ) ) {
|
||||
return RTEMS_NOT_IMPLEMENTED;
|
||||
}
|
||||
bool is_preempt_enabled = _Modes_Is_preempt( mode_set );
|
||||
|
||||
preempt_enabled = !executing->is_preemptible && is_preempt_enabled;
|
||||
executing->is_preemptible = is_preempt_enabled;
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( mask & RTEMS_TIMESLICE_MASK ) {
|
||||
if ( _Modes_Is_timeslice(mode_set) ) {
|
||||
@@ -113,11 +107,9 @@ rtems_status_code rtems_task_mode(
|
||||
/*
|
||||
* Set the new interrupt level
|
||||
*/
|
||||
#if !defined( RTEMS_SMP )
|
||||
if ( mask & RTEMS_INTERRUPT_MASK ) {
|
||||
_Modes_Set_interrupt_level( mode_set );
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* This is specific to the RTEMS API
|
||||
|
||||
Reference in New Issue
Block a user