X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker-benchmarks.git;a=blobdiff_plain;f=mpmc-queue%2Fmpmc-queue.h;h=918415fa99278e0a8cc3d47622f84de00749445c;hp=dc2b5618771774238c1c16f97efa87262da182a4;hb=e2f231b345801a670b9e817c1248c7ae53bdd96d;hpb=9f2a28f12f61001be2bd5adc74964acf5e8e6721 diff --git a/mpmc-queue/mpmc-queue.h b/mpmc-queue/mpmc-queue.h index dc2b561..918415f 100644 --- a/mpmc-queue/mpmc-queue.h +++ b/mpmc-queue/mpmc-queue.h @@ -38,6 +38,8 @@ public: if ( m_rdwr.compare_exchange_weak(rdwr,rdwr+(1<<16),mo_acq_rel) ) break; + else + thrd_yield(); } // (*1) @@ -69,6 +71,8 @@ public: if ( m_rdwr.compare_exchange_weak(rdwr,(rd<<16) | ((wr+1)&0xFFFF),mo_acq_rel) ) break; + else + thrd_yield(); } // (*1)