deque: #include's
[model-checker-benchmarks.git] / mpmc-queue / mpmc-queue.cc
index d6271be9c03031f1615db33cefb9bd83f69b233d..baca598bfa49b39e70134672f12e67b9135a95f5 100644 (file)
@@ -27,7 +27,19 @@ void threadB(struct mpmc_boundq_1_alt<int32_t, sizeof(int32_t)> *queue)
 #define MAXREADERS 3
 #define MAXWRITERS 3
 
-int readers = 2, writers = 2;
+#ifdef CONFIG_MPMC_READERS
+#define DEFAULT_READERS (CONFIG_MPMC_READERS)
+#else
+#define DEFAULT_READERS 2
+#endif
+
+#ifdef CONFIG_MPMC_WRITERS
+#define DEFAULT_WRITERS (CONFIG_MPMC_WRITERS)
+#else
+#define DEFAULT_WRITERS 2
+#endif
+
+int readers = DEFAULT_READERS, writers = DEFAULT_WRITERS;
 
 void print_usage()
 {
@@ -79,9 +91,12 @@ int user_main(int argc, char **argv)
        //process_params(argc, argv);
        printf("%d reader(s), %d writer(s)\n", readers, writers);
 
+#ifndef CONFIG_MPMC_NO_INITIAL_ELEMENT
+       printf("Adding initial element\n");
        int32_t *bin = queue.write_prepare();
        store_32(bin, 17);
        queue.write_publish();
+#endif
 
        printf("Start threads\n");