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 |   40 ++++++++++++++++++++++++----------------
 1 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/test/single_consumer.c b/test/single_consumer.c
index a834d86..6bbd540 100644
--- a/test/single_consumer.c
+++ b/test/single_consumer.c
@@ -2,33 +2,41 @@
 using namespace std;
 
  
-
- 
+int key = 1;
+bool stop = false;
 void sigint_handler(int sig) {
-  destroy();
-  exit(0);
+  
+  stop = true;
 
 }
+
 int main(int argc, char *argv[])
 {
    
-
-  void *shmp;
+  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);
-  SLinkedLockFreeQueue<struct Item> *queue = QFactory::createLinkedLockFreeQueue<struct Item> (1, 10);
+
+  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->remove(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();
-  cerr << "consumer quit" << endl;
+  //delete queue;
+  //mm_destroy();
+  err_msg(0, "consumer quit");
   exit(EXIT_SUCCESS);
 }

--
Gitblit v1.8.0