From: Brian Norris Date: Thu, 1 Nov 2012 19:19:58 +0000 (-0700) Subject: mpmc-queue: improve driver, to read all items from queue X-Git-Tag: pldi2013~28 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker-benchmarks.git;a=commitdiff_plain;h=fca16811b01b581abd2a12df879558cdf32663e4 mpmc-queue: improve driver, to read all items from queue threadB() will now read all currently available items from the queue. --- diff --git a/mpmc-queue/mpmc-queue.cc b/mpmc-queue/mpmc-queue.cc index 146f11e..17713cb 100644 --- a/mpmc-queue/mpmc-queue.cc +++ b/mpmc-queue/mpmc-queue.cc @@ -15,9 +15,11 @@ void threadA(struct mpmc_boundq_1_alt *queue) void threadB(struct mpmc_boundq_1_alt *queue) { - int32_t *bin = queue->read_fetch(); - printf("Read: %d\n", load_32(bin)); - queue->read_consume(); + int32_t *bin; + while (bin = queue->read_fetch()) { + printf("Read: %d\n", load_32(bin)); + queue->read_consume(); + } } int user_main(int argc, char **argv)