deque: add MODEL_ASSERT(), fixup #include's
[model-checker-benchmarks.git] / chase-lev-deque / main.c
index 64d044450a93c5bccee63243ef5b279b6f622ea0..c744b47020c25872f7fb4947cdff32cd1cb5cc75 100644 (file)
@@ -3,6 +3,9 @@
 #include <stdio.h>
 #include <threads.h>
 #include <stdatomic.h>
+#include <stdio.h>
+
+#include "model-assert.h"
 
 #include "deque.h"
 
@@ -11,7 +14,9 @@ int a;
 int b;
 
 static void task(void * param) {
-       a=steal(q);
+       do {
+               a=steal(q);
+       } while(a==EMPTY);
 }
 
 int user_main(int argc, char **argv)
@@ -23,7 +28,9 @@ int user_main(int argc, char **argv)
        push(q, 2);
        b=take(q);
        thrd_join(t);
-       if (a+b!=3)
-               printf("a=%d b=%d\n",a,b);
+
+       printf("a=%d b=%d\n",a,b);
+       MODEL_ASSERT(a + b == 3);
+
        return 0;
 }