- File:
-
- 1 edited
-
libcfa/src/concurrency/preemption.cfa (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/preemption.cfa
r8c50aed r09d4b22 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 store 189 190 190 191 with( kernelTLS.preemption_state ){ … … 208 209 if( proc->pending_preemption ) { 209 210 proc->pending_preemption = false; 210 force_yield( __POLL_PREEMPTION);211 BlockInternal( thrd ); 211 212 } 212 213 } … … 306 307 signal_block( SIGALRM ); 307 308 308 alarm_stack = __create_pthread( &alarm_thread, alarm_loop, 0p );309 alarm_stack = create_pthread( &alarm_thread, alarm_loop, 0p ); 309 310 } 310 311 … … 393 394 // Preemption can occur here 394 395 395 force_yield( __ALARM_PREEMPTION); // Do the actual CtxSwitch396 BlockInternal( kernelTLS.this_thread ); // Do the actual CtxSwitch 396 397 } 397 398
Note:
See TracChangeset
for help on using the changeset viewer.