X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c7df79fb2ff6e105b83092e142fbe74214fd3b75..777f7316c6a6730e53857c0ce67a9924b9203f7e:/src/mc/mc_comm_pattern.cpp diff --git a/src/mc/mc_comm_pattern.cpp b/src/mc/mc_comm_pattern.cpp index 35540c66e3..e474ddeb96 100644 --- a/src/mc/mc_comm_pattern.cpp +++ b/src/mc/mc_comm_pattern.cpp @@ -22,7 +22,7 @@ extern "C" { mc_comm_pattern_t MC_comm_pattern_dup(mc_comm_pattern_t comm) { - mc_comm_pattern_t res = xbt_new0(s_mc_comm_pattern_t, 1); + mc_comm_pattern_t res = new s_mc_comm_pattern_t(); res->index = comm->index; res->type = comm->type; res->comm_addr = comm->comm_addr; @@ -76,7 +76,7 @@ void MC_restore_communications_pattern(simgrid::mc::State* state) unsigned int cursor; xbt_dynar_foreach(initial_communications_pattern, cursor, list_process_comm) - list_process_comm->index_comm = (int)xbt_dynar_get_as(state->index_comm, cursor, int); + list_process_comm->index_comm = state->communicationIndices[cursor]; for (unsigned i = 0; i < MC_smx_get_maxpid(); i++) MC_patterns_copy( @@ -98,11 +98,11 @@ void MC_state_copy_incomplete_communications_pattern(simgrid::mc::State* state) void MC_state_copy_index_communications_pattern(simgrid::mc::State* state) { - state->index_comm = xbt_dynar_new(sizeof(unsigned int), nullptr); + state->communicationIndices.clear(); mc_list_comm_pattern_t list_process_comm; unsigned int cursor; xbt_dynar_foreach(initial_communications_pattern, cursor, list_process_comm) - xbt_dynar_push_as(state->index_comm, unsigned int, list_process_comm->index_comm); + state->communicationIndices.push_back(list_process_comm->index_comm); } void MC_handle_comm_pattern( @@ -138,10 +138,8 @@ void MC_handle_comm_pattern( } void MC_comm_pattern_free(mc_comm_pattern_t p) -{ - xbt_free(p->rdv); - xbt_free(p->data); - xbt_free(p); +{ + delete p; p = nullptr; }