From 668f99281619b3014f41edfbb91b111056e10c48 Mon Sep 17 00:00:00 2001
From: Brian Norris <banorris@uci.edu>
Date: Thu, 26 Apr 2012 16:14:27 -0700
Subject: [PATCH] libatomic: use 'values' for atomic load/store

---
 libatomic.cc | 3 ++-
 libatomic.h  | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/libatomic.cc b/libatomic.cc
index b607e22..6734148 100644
--- a/libatomic.cc
+++ b/libatomic.cc
@@ -6,11 +6,12 @@ void atomic_store_explicit(struct atomic_object *obj, int value, memory_order or
 {
 	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)
 {
 	DBG();
 	model->switch_to_master(new ModelAction(ATOMIC_READ, order, obj, VALUE_NONE));
-	return 0;
+	return obj->value;
 }
diff --git a/libatomic.h b/libatomic.h
index 33cfa62..684b213 100644
--- a/libatomic.h
+++ b/libatomic.h
@@ -15,6 +15,7 @@ extern "C" {
 	} memory_order;
 
 	typedef struct atomic_object {
+		int value;
 	} atomic_int;
 
 	void atomic_store_explicit(struct atomic_object *obj, int value, memory_order order);
-- 
2.34.1