From 3feff4ae44fd74c32158ed5f505e063b154c4d76 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期四, 16 七月 2020 11:43:34 +0800
Subject: [PATCH] udpate

---
 test/single_consumer.c |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/test/single_consumer.c b/test/single_consumer.c
index bfd45c1..6bbd540 100644
--- a/test/single_consumer.c
+++ b/test/single_consumer.c
@@ -3,33 +3,40 @@
 
  
 int key = 1;
- 
+bool stop = false;
 void sigint_handler(int sig) {
-  destroy(key);
-  exit(0);
+  
+  stop = true;
 
 }
+
 int main(int argc, char *argv[])
 {
    
   int qsize = 16;
  
   signal(SIGINT,  sigint_handler);
-  /* Get IDs for semaphore set and shared memory created by writer */
-  //SAbstractQueue<struct Item> *queue = QFactory::createQueue<struct Item> (1, 10);
 
-  LockFreeQueue<struct Item> *queue = QueueFactory::createQueue<struct Item> (key, qsize);
+  mm_init(512);
+
+  // SHMQueue<struct Item, 3> *queue = new SHMQueue<struct Item, 3>(qsize);
+  SHMQueue<item_t> *queue = new SHMQueue<item_t>(key, qsize);
+  
+  //LockFreeQueue<struct Item> *queue = QueueFactory::createQueue<struct Item> (key, qsize);
   /* Transfer blocks of data from shared memory to stdout */
    
-  struct timespec timeout = {10, 0};
-  struct Item item;
-  while(queue->pop(item)) {
-    
-    cout <<  item.pic  << endl;
+  struct timespec timeout = {5, 0};
+  item_t item;
+  while(!stop && queue->pop_timeout(item, &timeout)) {
+    //cout << "鍑洪槦锛�" << item << endl;
+     LoggerFactory::getLogger().error("%d", item);
+    //err_msg(0, "%d", item);
+    //cout <<  item.pic  << endl;
     //sleep(1);
   }
 
-  destroy(key);
-  cerr << "consumer quit" << endl;
+  //delete queue;
+  //mm_destroy();
+  err_msg(0, "consumer quit");
   exit(EXIT_SUCCESS);
 }

--
Gitblit v1.8.0