Changeset 3f0b062
- Timestamp:
- Oct 23, 2023, 8:55:09 AM (14 months ago)
- Branches:
- master
- Children:
- 8df19af
- Parents:
- ca995e3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/channel.hfa
rca995e3 r3f0b062 28 28 unlock( lock ); 29 29 park(); 30 #if defined(__ARM_ARCH) 30 31 __atomic_thread_fence( __ATOMIC_SEQ_CST ); 32 #endif 31 33 return sn.extra == 0p; 32 34 } … … 131 133 static inline void __cons_handoff( channel(T) & chan, T & elem ) with(chan) { 132 134 memcpy( cons`first.extra, (void *)&elem, sizeof(T) ); // do waiting consumer work 135 #if defined(__ARM_ARCH) 133 136 __atomic_thread_fence( __ATOMIC_SEQ_CST ); 137 #endif 134 138 wake_one( cons ); 135 139 } … … 138 142 static inline void __prods_handoff( channel(T) & chan, T & retval ) with(chan) { 139 143 memcpy( (void *)&retval, prods`first.extra, sizeof(T) ); 144 #if defined(__ARM_ARCH) 140 145 __atomic_thread_fence( __ATOMIC_SEQ_CST ); 146 #endif 141 147 wake_one( prods ); 142 148 }
Note: See TracChangeset
for help on using the changeset viewer.