comparison packages/kernel/current/src/intr/intr.cxx @ 130:eb9fd8c04db3 ecos-sw-2000-10-23

Merge from eCos master repository on 2000-10-23-17:01:37-BST
author jlarmour
date Mon, 23 Oct 2000 17:10:57 +0000
parents 0c2b7be0d798
children 38892b97b685
comparison
equal deleted inserted replaced
129:605a0fc6f385 130:eb9fd8c04db3
123 123
124 #endif 124 #endif
125 125
126 #ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST 126 #ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST
127 127
128 volatile Cyg_Interrupt *Cyg_Interrupt::dsr_list = NULL; 128 Cyg_Interrupt* volatile Cyg_Interrupt::dsr_list = NULL;
129 129
130 #endif 130 #endif
131 131
132 // ------------------------------------------------------------------------- 132 // -------------------------------------------------------------------------
133 // Call any pending DSRs 133 // Call any pending DSRs
158 158
159 #ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST 159 #ifdef CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST
160 160
161 while( dsr_list != NULL ) 161 while( dsr_list != NULL )
162 { 162 {
163 volatile Cyg_Interrupt *intr; 163 Cyg_Interrupt* intr;
164 cyg_uint32 old_intr; 164 cyg_uint32 old_intr;
165 cyg_count32 count; 165 cyg_count32 count;
166 166
167 HAL_DISABLE_INTERRUPTS(old_intr); 167 HAL_DISABLE_INTERRUPTS(old_intr);
168 168
196 // the whole process as general as possible. 196 // the whole process as general as possible.
197 197
198 void 198 void
199 Cyg_Interrupt::call_pending_DSRs(void) 199 Cyg_Interrupt::call_pending_DSRs(void)
200 { 200 {
201 CYG_ASSERT( Cyg_Scheduler::get_sched_lock() == 1,
202 "DSRs being called with sched_lock not equal to 1");
203
201 HAL_INTERRUPT_STACK_CALL_PENDING_DSRS(); 204 HAL_INTERRUPT_STACK_CALL_PENDING_DSRS();
202 } 205 }
203 206
204 207
205 // ------------------------------------------------------------------------- 208 // -------------------------------------------------------------------------