- Promise(ModelAction *act, uint64_t value, modelclock_t expiration) :
- value(value), expiration(expiration), read(act), write(NULL)
- {
- increment_threads(act->get_tid());
+ Promise(ModelAction *read, struct future_value fv) :
+ num_available_threads(0),
+ value(fv.value),
+ expiration(fv.expiration),
+ read(read),
+ write(NULL)
+ {
+ add_thread(fv.tid);
+ eliminate_thread(read->get_tid());