add notes to mcs-lock
[model-checker-benchmarks.git] / ms-queue / queue_wildcard.c
index df1702aa375cd38581ea499e74cb3c2583f8531a..43a2de2cf743fbe0d6b85530ae648866b3e3548f 100644 (file)
@@ -134,7 +134,7 @@ bool dequeue(queue_t *q, unsigned int *retVal)
 
        while (!success) {
                head = atomic_load_explicit(&q->head, wildcard(13)); // acquire
-               // FIXME: SCFence makes this acquire
+               // SCFence makes this acquire, and we actually need an acquire here!!!
                tail = atomic_load_explicit(&q->tail, wildcard(14)); // relaxed 
                next = atomic_load_explicit(&q->nodes[get_ptr(head)].next, wildcard(15)); // acquire
                if (atomic_load_explicit(&q->head, wildcard(16)) == head) { // relaxed