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_productor.c | 46 ++++++++++++++++++++++++++++++---------------- 1 files changed, 30 insertions(+), 16 deletions(-) diff --git a/test/single_productor.c b/test/single_productor.c index af6b3b4..819e10a 100644 --- a/test/single_productor.c +++ b/test/single_productor.c @@ -10,10 +10,13 @@ } int main(int argc, char *argv[]) -{ +{ + + string line; signal(SIGINT, sigint_handler); int qsize = 16; + /* Create set containing two semaphores; initialize so that writer has first access to shared memory. */ @@ -24,30 +27,41 @@ start = atoi(argv[1]); end = atoi(argv[2]); } - //LockFreeQueue<struct Item> *queue = QueueFactory::createQueue<struct Item> (key, qsize); - SHMQueue<struct Item> *queue = new SHMQueue<struct Item>(key, qsize); + + mm_init(512); + //LockFreeQueue<item_t> *queue = QueueFactory::createQueue<item_t> (key, qsize); + SHMQueue<item_t> *queue = new SHMQueue<item_t>(key, qsize); /* Transfer blocks of data from stdin to shared memory */ - struct Item item; - struct timespec timeout = {5, 0}; + //item_t item; + //char item[1024]; + item_t item; + struct timespec timeout = {10, 0}; int i = start; - item.pic = i; - item.info = i; - //while((end == -1 || (i < end) ) && (queue->add(item)) ) { - while(!stop && (queue->push(item)) ) { - item.pic = i; - item.info = i; - - cout << "鍏ラ槦锛�" << item.pic << ", " << item.info << endl; + // item.pic = i; + // item.info = i; + while(!stop && (end == -1 || (i < end) ) ) { + //while(!stop ) { + // item.pic = i; + // item.info = i; + //item = i + " aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; + //sprintf(item, "(%d)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", i); + if(queue->push(i)) + //cout << "鍏ラ槦锛�" << item << endl; + LoggerFactory::getLogger().error("%d", i); + // err_msg(0, "%d", i); + else { + break; + } // cout << item.pic << endl; i++; } - delete queue; - mm_destroy(); - cerr << "productor quit" << endl; + //delete queue; + //mm_destroy(); + err_msg(0, "productor quit"); exit(EXIT_SUCCESS); } -- Gitblit v1.8.0