Changeset bf30999 in rtems for cpukit/score/src/threaddispatchdisablelevel.c
- Timestamp:
- 08/23/13 14:15:50 (11 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 4238aff
- Parents:
- 1215fd4
- git-author:
- Sebastian Huber <sebastian.huber@…> (08/23/13 14:15:50)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (08/30/13 09:16:28)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/score/src/threaddispatchdisablelevel.c
r1215fd4 rbf30999 18 18 #include <rtems/score/threaddispatch.h> 19 19 #include <rtems/score/assert.h> 20 #include <rtems/score/sysstate.h> 20 21 21 22 #define NO_OWNER_CPU 0xffffffffU … … 64 65 Per_CPU_Control *self_cpu; 65 66 66 _ISR_Disable ( isr_level );67 _ISR_Disable_without_giant( isr_level ); 67 68 68 69 /* … … 79 80 self_cpu->thread_dispatch_disable_level = disable_level; 80 81 81 _ISR_Enable ( isr_level );82 _ISR_Enable_without_giant( isr_level ); 82 83 83 84 return disable_level; … … 90 91 Per_CPU_Control *self_cpu; 91 92 92 _ISR_Disable ( isr_level );93 _ISR_Disable_without_giant( isr_level ); 93 94 94 95 self_cpu = _Per_CPU_Get(); … … 98 99 99 100 _Giant_Do_release(); 101 _Assert( disable_level != 0 || _Giant.owner_cpu == NO_OWNER_CPU ); 100 102 101 _ISR_Enable ( isr_level );103 _ISR_Enable_without_giant( isr_level ); 102 104 103 105 return disable_level; … … 119 121 uint32_t disable_level; 120 122 121 _ISR_Disable ( isr_level );123 _ISR_Disable_without_giant( isr_level ); 122 124 disable_level = _Thread_Dispatch_disable_level; 123 _ISR_Enable ( isr_level );125 _ISR_Enable_without_giant( isr_level ); 124 126 125 127 /* … … 148 150 ISR_Level isr_level; 149 151 150 _ISR_Disable ( isr_level );152 _ISR_Disable_without_giant( isr_level ); 151 153 _Assert( _Thread_Dispatch_disable_level != 0 ); 152 154 _Giant_Do_acquire( _SMP_Get_current_processor() ); 153 _ISR_Enable ( isr_level );155 _ISR_Enable_without_giant( isr_level ); 154 156 } 155 157 … … 158 160 ISR_Level isr_level; 159 161 160 _ISR_Disable ( isr_level );162 _ISR_Disable_without_giant( isr_level ); 161 163 _Assert( _Thread_Dispatch_disable_level != 0 ); 162 164 _Giant_Do_release(); 163 _ISR_Enable ( isr_level );165 _ISR_Enable_without_giant( isr_level ); 164 166 } 167 168 #if defined( RTEMS_DEBUG ) 169 void _Assert_Owner_of_giant( void ) 170 { 171 Giant_Control *giant = &_Giant; 172 173 _Assert( 174 giant->owner_cpu == _SMP_Get_current_processor() 175 || !_System_state_Is_up( _System_state_Get() ) 176 ); 177 } 178 #endif
Note: See TracChangeset
for help on using the changeset viewer.