}
updated = r_modification_order(curr, rf);
- value = rf->get_value();
+ value = rf->get_write_value();
read_from(curr, rf);
mo_graph->commitChanges();
mo_check_promises(curr, true);
}
case READ_FROM_PROMISE: {
Promise *promise = curr->get_node()->get_read_from_promise();
- promise->add_reader(curr);
+ if (promise->add_reader(curr))
+ priv->failed_promise = true;
value = promise->get_value();
curr->set_read_from_promise(promise);
mo_graph->startChanges();