switch back to norris style spacing in changed files
[model-checker.git] / libatomic.cc
index 059d2ae8d6aab1ac456a212b1b455d03214c33b9..88d7fbf79900859575b7b6d3bf1b78609caddd3b 100644 (file)
@@ -1,14 +1,23 @@
 #include "libatomic.h"
 #include "model.h"
-#include "threads_internal.h"
+#include "common.h"
 
 void atomic_store_explicit(struct atomic_object *obj, int value, memory_order order)
 {
-       thread_current()->switch_to_master(new ModelAction(ATOMIC_WRITE, order, obj, value));
+       DBG();
+       model->switch_to_master(new ModelAction(ATOMIC_WRITE, order, obj, value));
+       obj->value = value;
 }
 
 int atomic_load_explicit(struct atomic_object *obj, memory_order order)
 {
-       thread_current()->switch_to_master(new ModelAction(ATOMIC_READ, order, obj, VALUE_NONE));
-       return 0;
+       int value = obj->value;
+       DBG();
+       model->switch_to_master(new ModelAction(ATOMIC_READ, order, obj, value));
+       return value;
+}
+
+void atomic_init(struct atomic_object *obj, int value)
+{
+       obj->value = value;
 }