Ignore:
Timestamp:
Dec 24, 2024, 10:52:13 AM (4 weeks ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
2853d6f, 5db580e
Parents:
4f4ae60
Message:

formatting, comment out unused parameter names to remove warnings

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/collections/lockfree.hfa

    r4f4ae60 ra6b48f6  
    66#include <bits/defs.hfa>
    77
    8 forall( T &) {
     8forall( T & ) {
    99        //------------------------------------------------------------
    1010        // Queue based on the MCS lock
     
    200200forall( T & )
    201201struct LinkData {
    202         T * volatile top;                                                               // pointer to stack top
    203         uintptr_t count;                                                                // count each push
     202        T * volatile top;                                                                       // pointer to stack top
     203        uintptr_t count;                                                                        // count each push
    204204};
    205205
     
    215215}; // Link
    216216
    217 forall( T | sized(T) | { Link(T) * ?`next( T * ); } ) {
     217forall( T /*| sized(T)*/ | { Link(T) * ?`next( T * ); } ) {
    218218        struct StackLF {
    219219                Link(T) stack;
     
    235235                        Link(T) t @= stack;                                                     // atomic assignment unnecessary, or use CAA
    236236                        for () {                                                                        // busy wait
    237                                 if ( t.data.top == 0p ) return 0p;                              // empty stack ?
     237                                if ( t.data.top == 0p ) return 0p;              // empty stack ?
    238238                                Link(T) * next = ( t.data.top )`next;
    239239                                if ( __atomic_compare_exchange_n( &stack.atom, &t.atom, (Link(T))@{ (LinkData(T))@{ next->data.top, t.data.count } }.atom, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) ) return t.data.top; // attempt to update top node
Note: See TracChangeset for help on using the changeset viewer.