wangzhengquan
2020-07-07 37a7bd95042c19d7334b099d50ac6dc8e07e4b4e
test/single_productor.c
@@ -3,19 +3,21 @@
 
using namespace std;
int key = 1;
void sigint_handler(int sig) {
  cerr << "sigint_handler" << endl;
  destroy();
  destroy(key);
  exit(0);
}
int main(int argc, char *argv[])
  void *shmp;
  string line;
  signal(SIGINT,  sigint_handler);
  int qsize = 16;
  /* Create set containing two semaphores; initialize so that
     writer has first access to shared memory. */
  int start = 0;
@@ -26,7 +28,8 @@
    end = atoi(argv[2]);
  }
  //SAbstractQueue<struct Item> *queue = QFactory::createQueue<struct Item> (1, 10);
  SLinkedLockFreeQueue<struct Item> *queue = QFactory::createLinkedLockFreeQueue<struct Item> (1, 10);
  LockFreeQueue<struct Item> *queue = QueueFactory::createQueue<struct Item> (key, qsize);
  
  /* Transfer blocks of data from stdin to shared memory */
@@ -36,7 +39,7 @@
  item.pic = i;
  item.info = i;
  //while((end == -1 || (i < end) ) && (queue->add(item)) ) {
  while((queue->add(item)) ) {
  while((queue->push(item)) ) {
    item.pic = i;
    item.info = i;
@@ -46,7 +49,7 @@
    i++;
    
  }
  destroy();
  destroy(key);
  cerr << "productor quit" << endl;
  exit(EXIT_SUCCESS);
}