From fca16811b01b581abd2a12df879558cdf32663e4 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Thu, 1 Nov 2012 12:19:58 -0700 Subject: [PATCH 1/1] mpmc-queue: improve driver, to read all items from queue threadB() will now read all currently available items from the queue. --- mpmc-queue/mpmc-queue.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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) -- 2.34.1