projects
/
model-checker.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
action: store Promise in ModelAction
[model-checker.git]
/
model.cc
diff --git
a/model.cc
b/model.cc
index e39266d41218feecb14d4fde94701c22cd2040d3..cb78f030a3ff3d730d11e6748935797d0aee4d59 100644
(file)
--- a/
model.cc
+++ b/
model.cc
@@
-735,10
+735,10
@@
bool ModelChecker::process_read(ModelAction *curr, bool second_part_of_rmw)
} else if (!second_part_of_rmw) {
/* Read from future value */
struct future_value fv = curr->get_node()->get_future_value();
} else if (!second_part_of_rmw) {
/* Read from future value */
struct future_value fv = curr->get_node()->get_future_value();
+ Promise *promise = new Promise(curr, fv);
value = fv.value;
value = fv.value;
- curr->set_value(fv.value);
- curr->set_read_from(NULL);
- promises->push_back(new Promise(curr, fv));
+ curr->set_read_from_promise(promise);
+ promises->push_back(promise);
}
get_thread(curr)->set_return_value(value);
return updated;
}
get_thread(curr)->set_return_value(value);
return updated;