- for (success = FALSE; success == FALSE; ) {
- head = atomic_load(&smp->head);
- tail = atomic_load(&smp->tail);
- next = atomic_load(&smp->nodes[get_ptr(head)].next);
- if (atomic_load(&smp->head) == head) {
+ while (!success) {
+ head = atomic_load(&q->head);
+ tail = atomic_load(&q->tail);
+ next = atomic_load(&q->nodes[get_ptr(head)].next);
+ if (atomic_load(&q->head) == head) {