- File:
-
- 1 edited
-
libcfa/src/concurrency/preemption.cfa (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/preemption.cfa
r09d4b22 r8c50aed 187 187 void enable_interrupts( __cfaabi_dbg_ctx_param ) { 188 188 processor * proc = kernelTLS.this_processor; // Cache the processor now since interrupts can start happening after the atomic store 189 thread_desc * thrd = kernelTLS.this_thread; // Cache the thread now since interrupts can start happening after the atomic store190 189 191 190 with( kernelTLS.preemption_state ){ … … 209 208 if( proc->pending_preemption ) { 210 209 proc->pending_preemption = false; 211 BlockInternal( thrd);210 force_yield( __POLL_PREEMPTION ); 212 211 } 213 212 } … … 307 306 signal_block( SIGALRM ); 308 307 309 alarm_stack = create_pthread( &alarm_thread, alarm_loop, 0p );308 alarm_stack = __create_pthread( &alarm_thread, alarm_loop, 0p ); 310 309 } 311 310 … … 394 393 // Preemption can occur here 395 394 396 BlockInternal( kernelTLS.this_thread); // Do the actual CtxSwitch395 force_yield( __ALARM_PREEMPTION ); // Do the actual CtxSwitch 397 396 } 398 397
Note:
See TracChangeset
for help on using the changeset viewer.