changes
[cdsspec-compiler.git] / benchmark / ms-queue / main.c
index 4a9f689d7e766daaa81c5b1416a52b59b836e528..f6973a706ced450952d2e7180579ddb0d9c4acc9 100644 (file)
@@ -5,7 +5,7 @@
 #include "my_queue.h"
 #include "model-assert.h"
 
-static int procs = 2;
+static int procs = 3;
 static queue_t *queue;
 static thrd_t *threads;
 static unsigned int *input;
@@ -40,24 +40,36 @@ static void main_task(void *param)
        }
 */
 
-       if (!pid) {
+       if (pid % 3 == 0) {
                input[0] = 17;
                enqueue(queue, input[0]);
                printf("Enqueue %d.\n", 17);
+               
                succ1 = dequeue(queue, &input[0]);
                if (succ1)
-                       printf("Dequeue %d.\n", input[0]);
+                       printf("Thrd 2: Dequeue %d.\n", input[0]);
                else
-                       printf("Dequeue NULL.\n");
-       } else {
+                       printf("Thrd 2: Dequeue NULL.\n");
+               
+       } else if (pid % 3 == 1) {
+               
                input[1] = 37;
                enqueue(queue, input[1]);
                printf("Enqueue %d.\n", 37);
+               
+               succ1 = dequeue(queue, &input[0]);
+               if (succ1)
+                       printf("Thrd 3: Dequeue %d.\n", input[0]);
+               else
+                       printf("Thrd 3: Dequeue NULL.\n");
+       } else if (pid %3 == 2) {
+               /*
                succ2 = dequeue(queue, &output[1]);
                if (succ2)
                        printf("Dequeue %d.\n", input[1]);
                else
                        printf("Dequeue NULL.\n");
+                       */
        }
 
 }