fix for horrible bug... turns out that we could generate an infinite set of bad...
[c11tester.git] / model.h
diff --git a/model.h b/model.h
index fec8d1f1ea55bf331017f9817515cae7e0d93c34..9afe642aea2ad76152556c2fd6dc15f29e09b488 100644 (file)
--- a/model.h
+++ b/model.h
@@ -32,6 +32,12 @@ struct model_params {
        int maxfuturedelay;
 };
 
+struct PendingFutureValue {
+       uint64_t value;
+       modelclock_t expiration;
+       ModelAction * act;
+};
+
 /**
  * Structure for holding small ModelChecker members that should be snapshotted
  */
@@ -143,6 +149,7 @@ private:
 
        HashTable<void *, std::vector<action_list_t>, uintptr_t, 4 > *obj_thrd_map;
        std::vector<Promise *> *promises;
+       std::vector<struct PendingFutureValue> *futurevalues;
 
        /**
         * Collection of lists of objects that might synchronize with one or