Changeset 5908fb4 for libcfa


Ignore:
Timestamp:
May 16, 2023, 10:40:39 AM (14 months ago)
Author:
caparsons <caparson@…>
Branches:
ADT, ast-experimental, master
Children:
8db4708
Parents:
100d12d4
Message:

changed channel fetch routines to use relaxed atomics

File:
1 edited

Legend:

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

    r100d12d4 r5908fb4  
    8888    if ( size != 0 ) delete( buffer );
    8989}
    90 static inline size_t get_count( channel(T) & chan ) with(chan) { return __atomic_load_n( &count, __ATOMIC_SEQ_CST); }
    91 static inline size_t get_size( channel(T) & chan ) with(chan) { return __atomic_load_n( &size, __ATOMIC_SEQ_CST); }
     90static inline size_t get_count( channel(T) & chan ) with(chan) { return __atomic_load_n( &count, __ATOMIC_RELAXED ); }
     91static inline size_t get_size( channel(T) & chan ) with(chan) { return __atomic_load_n( &size, __ATOMIC_RELAXED ); }
    9292static inline bool has_waiters( channel(T) & chan ) with(chan) { return !cons`isEmpty || !prods`isEmpty; }
    9393static inline bool has_waiting_consumers( channel(T) & chan ) with(chan) { return !cons`isEmpty; }
Note: See TracChangeset for help on using the changeset viewer.