Ignore:
Timestamp:
Oct 23, 2023, 4:11:30 PM (14 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
d8a0e51
Parents:
cb94e41 (diff), 7b84d3e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/channel.hfa

    rcb94e41 redc4813  
    2828    unlock( lock );
    2929    park();
     30    #if defined(__ARM_ARCH)
    3031    __atomic_thread_fence( __ATOMIC_SEQ_CST );
     32    #endif
    3133    return sn.extra == 0p;
    3234}
     
    131133static inline void __cons_handoff( channel(T) & chan, T & elem ) with(chan) {
    132134    memcpy( cons`first.extra, (void *)&elem, sizeof(T) ); // do waiting consumer work
     135    #if defined(__ARM_ARCH)
    133136    __atomic_thread_fence( __ATOMIC_SEQ_CST );
     137    #endif
    134138    wake_one( cons );
    135139}
     
    138142static inline void __prods_handoff( channel(T) & chan, T & retval ) with(chan) {
    139143    memcpy( (void *)&retval, prods`first.extra, sizeof(T) );
     144    #if defined(__ARM_ARCH)
    140145    __atomic_thread_fence( __ATOMIC_SEQ_CST );
     146    #endif
    141147    wake_one( prods );
    142148}
Note: See TracChangeset for help on using the changeset viewer.