Changes in / [9eb7f07c:2c24971]


Ignore:
Files:
4 added
2 edited

Legend:

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

    r9eb7f07c r2c24971  
    7373    if ( size != 0 ) delete( buffer );
    7474}
    75 static inline size_t get_count( channel(T) & chan ) with(chan) { return count; }
     75static inline size_t get_count( channel(T) & chan ) with(chan) { return __atomic_load_n( &count, __ATOMIC_SEQ_CST); }
    7676static inline size_t get_size( channel(T) & chan ) with(chan) { return size; }
    7777static inline bool has_waiters( channel(T) & chan ) with(chan) { return !cons`isEmpty || !prods`isEmpty; }
  • tests/concurrent/waituntil/one_chan.cfa

    r9eb7f07c r2c24971  
    3737        printf("waiting for empty channels\n");
    3838        LINE_COUNTER = 3;
    39         size_t C_count = get_count( C );
    40         LINE_COUNTER = 5;
    41         while( C_count > 0 ) {
    42             C_count = get_count( C );
    43         }
     39        // size_t C_count = get_count( C );
     40        // LINE_COUNTER = 5;
     41        // while( C_count > 0 ) {
     42        //     C_count = get_count( C );
     43        // }
    4444        LINE_COUNTER = 7;
    4545        printf("sending sentinels\n");
     
    5050        LINE_COUNTER = 17;
    5151    }
     52    assert(get_count( C ) == 0);
    5253    LINE_COUNTER = 19;
    5354    if ( total != globalTotal )
Note: See TracChangeset for help on using the changeset viewer.