bug in race detector
[c11tester.git] / model.h
diff --git a/model.h b/model.h
index 970881cd24b3a707eb575a11522ebb6809a71a74..e55863dce74ec1ea9906b0589db7734c21c856cc 100644 (file)
--- a/model.h
+++ b/model.h
@@ -42,8 +42,6 @@ public:
        /** Prints an execution summary with trace information. */
        void print_summary();
 
-       Thread * schedule_next_thread();
-
        void add_thread(Thread *t);
        void remove_thread(Thread *t);
        Thread * get_thread(thread_id_t tid) { return thread_map->get(id_to_int(tid)); }
@@ -84,13 +82,13 @@ private:
         * @param act The ModelAction created by the user-thread action
         */
        void set_current_action(ModelAction *act) { current_action = act; }
-       void check_current_action();
+       Thread * check_current_action(ModelAction *curr);
 
        bool take_step();
 
        ModelAction * get_last_conflict(ModelAction *act);
        void set_backtracking(ModelAction *act);
-       thread_id_t get_next_replay_thread();
+       Thread * get_next_replay_thread();
        ModelAction * get_next_backtrack();
        void reset_to_initial_state();
        bool resolve_promises(ModelAction *curr);
@@ -111,7 +109,7 @@ private:
 
        ModelAction *current_action;
        ModelAction *diverge;
-       thread_id_t nextThread;
+       Thread *nextThread;
 
        ucontext_t system_context;
        action_list_t *action_trace;