Changeset fd9b524 for libcfa/src/concurrency/ready_queue.cfa
- Timestamp:
- Aug 20, 2020, 10:56:27 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 74f5c83
- Parents:
- b8e7aed
- git-author:
- Peter A. Buhr <pabuhr@…> (08/20/20 22:54:39)
- git-committer:
- Peter A. Buhr <pabuhr@…> (08/20/20 22:56:27)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/ready_queue.cfa
rb8e7aed rfd9b524 118 118 __scheduler_lock_id_t * storage = (__scheduler_lock_id_t *)&data[n]; 119 119 (*storage){ proc }; 120 while( true) {120 while() { 121 121 unsigned copy = n; 122 122 if( __atomic_load_n(&ready, __ATOMIC_RELAXED) == n 123 123 && __atomic_compare_exchange_n(&ready, ©, n + 1, true, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)) 124 124 break; 125 asm volatile("pause");125 Pause(); 126 126 } 127 127
Note: See TracChangeset
for help on using the changeset viewer.