summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/schedulerremoveprocessor.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems/src/schedulerremoveprocessor.c')
-rw-r--r--cpukit/rtems/src/schedulerremoveprocessor.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/cpukit/rtems/src/schedulerremoveprocessor.c b/cpukit/rtems/src/schedulerremoveprocessor.c
index 03a688d64e..538366bb22 100644
--- a/cpukit/rtems/src/schedulerremoveprocessor.c
+++ b/cpukit/rtems/src/schedulerremoveprocessor.c
@@ -98,8 +98,8 @@ rtems_status_code rtems_scheduler_remove_processor(
*/
_ISR_lock_ISR_disable( &lock_context );
_Scheduler_Acquire_critical( scheduler, &lock_context );
- processor_count = scheduler_context->processor_count - 1;
- scheduler_context->processor_count = processor_count;
+ _Processor_mask_Clear( &scheduler_context->Processors, cpu_index );
+ processor_count = _Processor_mask_Count( &scheduler_context->Processors );
_Scheduler_Release_critical( scheduler, &lock_context );
_ISR_lock_ISR_enable( &lock_context );
@@ -130,7 +130,7 @@ rtems_status_code rtems_scheduler_remove_processor(
_Chain_Extract_unprotected( &scheduler_node->Thread.Scheduler_node.Chain );
_Assert( _Chain_Is_empty( &idle->Scheduler.Scheduler_nodes ) );
} else {
- ++scheduler_context->processor_count;
+ _Processor_mask_Set( &scheduler_context->Processors, cpu_index );
}
cpu_self = _Thread_Dispatch_disable_critical( &lock_context );