| | |
| | | |
| | | signal(SIGINT, sigint_handler); |
| | | |
| | | 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 timespec timeout = {5, 0}; |
| | | item_t item; |
| | | while(!stop && queue->pop_timeout(item, &timeout)) { |
| | | cout << "出队:" << item << endl; |
| | | //cout << "出队:" << item << endl; |
| | | LoggerFactory::getLogger().error("%d", item); |
| | | //err_msg(0, "%d", item); |
| | | //cout << item.pic << endl; |
| | | //sleep(1); |
| | | } |
| | | |
| | | delete queue; |
| | | mm_destroy(); |
| | | cerr << "consumer quit" << endl; |
| | | //delete queue; |
| | | //mm_destroy(); |
| | | err_msg(0, "consumer quit"); |
| | | exit(EXIT_SUCCESS); |
| | | } |