Ignore:
File:
1 edited

Legend:

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

    r343d10e r13c5e19  
    144144// returns popped
    145145// returns true of lane was empty before push, false otherwise
    146 $thread * pop(__intrusive_lane_t & this) {
     146[$thread *, bool] pop(__intrusive_lane_t & this) {
    147147        /* paranoid */ verify(this.lock);
    148148        /* paranoid */ verify(this.before.link.ts != 0ul);
     
    162162        head->link.next = next;
    163163        next->link.prev = head;
    164         node->link.next = 0p;
    165         node->link.prev = 0p;
     164        node->link.[next, prev] = 0p;
    166165
    167166        // Update head time stamp
     
    181180                /* paranoid */ verify(tail(this)->link.prev == head(this));
    182181                /* paranoid */ verify(head(this)->link.next == tail(this));
    183                 return node;
     182                return [node, true];
    184183        }
    185184        else {
     
    188187                /* paranoid */ verify(head(this)->link.next != tail(this));
    189188                /* paranoid */ verify(this.before.link.ts != 0);
    190                 return node;
     189                return [node, false];
    191190        }
    192191}
Note: See TracChangeset for help on using the changeset viewer.