X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=model.h;h=6d702b0d94604d281a0cdea8331eb669e15a3704;hb=3cf4799ac961046bb2464ae1b6ee72f064d94716;hp=63f45c723d4bdca402d50a2c82d4d0a62f3b5dc7;hpb=174ad8165eeeb78fb4da391be331a26da044641f;p=model-checker.git diff --git a/model.h b/model.h index 63f45c7..6d702b0 100644 --- a/model.h +++ b/model.h @@ -41,6 +41,11 @@ struct model_params { /** @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 { @@ -93,7 +98,7 @@ public: 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); @@ -110,6 +115,7 @@ public: 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 */