model: promises: eliminate threads when they "join"
[model-checker.git] / model.h
diff --git a/model.h b/model.h
index ee9d2c71280175e4dfe0380380b0839cfaa599f5..783f7a6623df79d89d9611214393098e95484a9a 100644 (file)
--- a/model.h
+++ b/model.h
@@ -126,7 +126,6 @@ public:
        ClockVector * get_cv(thread_id_t tid) const;
        ModelAction * get_parent_action(thread_id_t tid) const;
        void check_promises_thread_disabled();
-       void mo_check_promises(const ModelAction *act, bool is_read_check);
        void check_promises(thread_id_t tid, ClockVector *old_cv, ClockVector *merge_cv);
        bool isfeasibleprefix() const;
 
@@ -179,6 +178,9 @@ private:
        void compute_promises(ModelAction *curr);
        void compute_relseq_breakwrites(ModelAction *curr);
 
+       void mo_check_promises(const ModelAction *act, bool is_read_check);
+       void thread_blocking_check_promises(Thread *blocker, Thread *waiting);
+
        void check_curr_backtracking(ModelAction *curr);
        void add_action_to_lists(ModelAction *act);
        ModelAction * get_last_action(thread_id_t tid) const;