/** 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)); }
* @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);
ModelAction *current_action;
ModelAction *diverge;
- thread_id_t nextThread;
+ Thread *nextThread;
ucontext_t system_context;
action_list_t *action_trace;