/** @brief Maximum number of future values that can be sent to the same
* read */
int maxfuturevalues;
+
+ /** @brief Only generate a new future value/expiration pair if the
+ * expiration time exceeds the existing one by more than the slop
+ * value */
+ unsigned int expireslop;
};
struct PendingFutureValue {
Thread * get_thread(ModelAction *act) const;
thread_id_t get_next_id();
- unsigned int get_num_threads();
+ unsigned int get_num_threads() const;
Thread * get_current_thread();
int switch_to_master(ModelAction *act);
void finish_execution();
bool isfeasibleprefix();
void set_assert() {asserted=true;}
+ bool is_deadlocked() const;
/** @brief Alert the model-checker that an incorrectly-ordered
* synchronization was made */