- File:
-
- 1 edited
-
libcfa/src/concurrency/ready_subqueue.hfa (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/concurrency/ready_subqueue.hfa
r343d10e r13c5e19 144 144 // returns popped 145 145 // 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) { 147 147 /* paranoid */ verify(this.lock); 148 148 /* paranoid */ verify(this.before.link.ts != 0ul); … … 162 162 head->link.next = next; 163 163 next->link.prev = head; 164 node->link.next = 0p; 165 node->link.prev = 0p; 164 node->link.[next, prev] = 0p; 166 165 167 166 // Update head time stamp … … 181 180 /* paranoid */ verify(tail(this)->link.prev == head(this)); 182 181 /* paranoid */ verify(head(this)->link.next == tail(this)); 183 return node;182 return [node, true]; 184 183 } 185 184 else { … … 188 187 /* paranoid */ verify(head(this)->link.next != tail(this)); 189 188 /* paranoid */ verify(this.before.link.ts != 0); 190 return node;189 return [node, false]; 191 190 } 192 191 }
Note:
See TracChangeset
for help on using the changeset viewer.