#include "mc_private.h"
-mc_pair_t MC_pair_new(mc_state_t gs, xbt_automaton_state_t as, int r){
+mc_pair_t MC_pair_new(){
mc_pair_t p = NULL;
p = xbt_new0(s_mc_pair_t, 1);
- p->automaton_state = as;
- p->graph_state = gs;
- p->system_state = NULL;
- p->requests = r;
+ p->nb_processes = xbt_swag_size(simix_global->process_list);
p->num = ++mc_stats->expanded_pairs;
+ p->search_cycle = 0;
+ p->other_num = -1;
return p;
}
void MC_pair_delete(mc_pair_t p){
p->automaton_state = NULL;
- if(p->system_state)
- MC_free_snapshot(p->system_state);
MC_state_delete(p->graph_state);
+ p->stack_removed = 0;
+ p->visited_removed = 0;
+ p->acceptance_removed = 0;
+ xbt_dynar_free(&(p->atomic_propositions));
xbt_free(p);
+ p = NULL;
+}
+
+void mc_pair_free_voidp(void *p){
+ MC_pair_delete((mc_pair_t) * (void **)p);
}