From 7032fedd41386f8a0b779d234620b473d978f889 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期五, 17 七月 2020 17:43:18 +0800
Subject: [PATCH] req_rep finished
---
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