- File:
-
- 1 edited
-
libcfa/src/concurrency/preemption.cfa (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/preemption.cfa
r708ae38 r250583e 10 10 // Created On : Mon Jun 5 14:20:42 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 17 11:18:57 202213 // Update Count : 5 912 // Last Modified On : Fri Nov 6 07:42:13 2020 13 // Update Count : 54 14 14 // 15 15 … … 31 31 #include "bits/debug.hfa" 32 32 #include "bits/signal.hfa" 33 #include "kernel /private.hfa"33 #include "kernel_private.hfa" 34 34 35 35 … … 97 97 } 98 98 99 enum { 100 PREEMPT_NORMAL = 0, 101 PREEMPT_TERMINATE = 1, 102 }; 103 99 104 //============================================================================================= 100 105 // Kernel Preemption logic … … 238 243 //---------- 239 244 // special case for preemption since used often 240 __attribute__((optimize("no-reorder-blocks")))bool __preemption_enabled() {245 bool __preemption_enabled() { 241 246 // create a assembler label before 242 247 // marked as clobber all to avoid movement … … 659 664 choose(sfp->si_value.sival_int) { 660 665 case PREEMPT_NORMAL : ;// Normal case, nothing to do here 661 case PREEMPT_IO : ;// I/O asked to stop spinning, nothing to do here662 666 case PREEMPT_TERMINATE: verify( __atomic_load_n( &__cfaabi_tls.this_processor->do_terminate, __ATOMIC_SEQ_CST ) ); 663 667 default:
Note:
See TracChangeset
for help on using the changeset viewer.