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 | 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