X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=ms-queue%2Fqueue_wildcard.c;h=43a2de2cf743fbe0d6b85530ae648866b3e3548f;hb=49ad748941ac5aec2723380ffe2d2719e760d42e;hp=df1702aa375cd38581ea499e74cb3c2583f8531a;hpb=1438eb7c0715e53611a717e593bfa3fe1bd30588;p=model-checker-benchmarks.git diff --git a/ms-queue/queue_wildcard.c b/ms-queue/queue_wildcard.c index df1702a..43a2de2 100644 --- a/ms-queue/queue_wildcard.c +++ b/ms-queue/queue_wildcard.c @@ -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