X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=mpmc-queue%2Fmpmc-queue-wildcard.h;h=4a77db3087d74759febdd04a0629145bf610c1aa;hb=d634d19b6134309ed0893c6fd58d815cbafecd16;hp=d8711dc23fd3f526df27555f1ecaf4f6ba0e7c80;hpb=b597b4f413812a6dcba5ef6823a5fce07b2cbe5c;p=model-checker-benchmarks.git diff --git a/mpmc-queue/mpmc-queue-wildcard.h b/mpmc-queue/mpmc-queue-wildcard.h index d8711dc..4a77db3 100644 --- a/mpmc-queue/mpmc-queue-wildcard.h +++ b/mpmc-queue/mpmc-queue-wildcard.h @@ -34,14 +34,14 @@ public: //----------------------------------------------------- t_element * read_fetch() { - unsigned int rdwr = m_rdwr.load(wildcard(1)); // acquire + unsigned int rdwr = m_rdwr.load(wildcard(1)); // acquire, but can be relaxed unsigned int rd,wr; for(;;) { rd = (rdwr>>16) & 0xFFFF; wr = rdwr & 0xFFFF; if ( wr == rd ) { // empty - return false; + return NULL; } // acq_rel @@ -84,7 +84,7 @@ public: //----------------------------------------------------- t_element * write_prepare() { - unsigned int rdwr = m_rdwr.load(wildcard(5)); // acquire + unsigned int rdwr = m_rdwr.load(wildcard(5)); // acquire, but can be relaxed unsigned int rd,wr; for(;;) { rd = (rdwr>>16) & 0xFFFF;