- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/ready_subqueue.hfa
rf302d80 rd3ba775 53 53 // Push a thread onto this lane 54 54 // returns true of lane was empty before push, false otherwise 55 static inlinevoid push( __intrusive_lane_t & this, $thread * node ) {55 void push( __intrusive_lane_t & this, $thread * node ) { 56 56 /* paranoid */ verify( node->link.next == 0p ); 57 57 /* paranoid */ verify( node->link.ts == 0 ); … … 77 77 // returns popped 78 78 // returns true of lane was empty before push, false otherwise 79 static inline [* $thread, unsigned long long]pop( __intrusive_lane_t & this ) {79 $thread * pop( __intrusive_lane_t & this ) { 80 80 /* paranoid */ verify( this.anchor.next != 0p ); 81 81 /* paranoid */ verify( this.anchor.ts != 0 ); 82 82 83 83 // Get the relevant nodes locally 84 unsigned long long ts = this.anchor.ts;85 84 $thread * node = this.anchor.next; 86 85 this.anchor.next = node->link.next; … … 95 94 /* paranoid */ verify( node->link.next == 0p ); 96 95 /* paranoid */ verify( node->link.ts == 0 ); 97 return [node, ts];96 return node; 98 97 } 99 98
Note:
See TracChangeset
for help on using the changeset viewer.